📄 parsexml.java
字号:
package cncgw.parser;/** * <p>Title: 小灵通网关</p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2004</p> * <p>Company: yy</p> * @author lxf * @version 1.0 */import java.io.*;import org.jdom.*;import org.apache.log4j.*;import java.util.Iterator;import cncgw.cncMain;public class ParseXml { public static String POSidentification="";//POS编号全局 public static Document xmlDoc; public ParseXml() { } /** *根据名称获得任意节点的值 *@param element string *@return String */ public static String getElement(String element) { String ResultString=""; ResultString = getSonElement(element);//获得第2层节点的值 if(ResultString.equals("")) { ResultString = getChildElement(element);//获得第3层节点的值 if(ResultString.equals("")) { ResultString = getChildSonElement(element);//获得第4层节点的值 } } return ResultString; } /** *根据名称获得第1层节点的值 *@param element string *@return String */ public static String getRootElement(String element) { String ResultString=""; String xmlRootElement = xmlDoc.getRootElement().getName(); Iterator xmlRoot = xmlDoc.getRootElement().getChildren().iterator(); if(xmlRootElement.equals(element)) {//第1层 ResultString = xmlDoc.getRootElement().getTextTrim(); } return ResultString; } /** *根据名称获得第2层节点的值 *@param element string *@return String */ public static String getSonElement(String element) { String ResultString=""; String xmlRootElement = xmlDoc.getRootElement().getName(); Iterator xmlRoot = xmlDoc.getRootElement().getChildren().iterator(); while(xmlRoot.hasNext()) { Element xmlSonElement = (Element)xmlRoot.next(); String xmlSonName = xmlSonElement.getName(); if(xmlSonName.equals(element)) {//第2层 ResultString = xmlSonElement.getTextTrim(); return ResultString; } } return ResultString; } /** *根据名称获得第3层节点的值 *@param element String *@return String */ public static String getChildElement(String element) { String ResultString=""; String xmlRootElement = xmlDoc.getRootElement().getName(); Iterator xmlRoot = xmlDoc.getRootElement().getChildren().iterator(); while(xmlRoot.hasNext()) { Element xmlSonElement = (Element)xmlRoot.next(); String xmlSonName = xmlSonElement.getName();// Iterator xmlSonRoot = xmlSonElement.getChildren().iterator(); while(xmlSonRoot.hasNext()) { Element xmlChildElement = (Element)xmlSonRoot.next(); String xmlChildName = xmlChildElement.getName(); if(xmlChildName.equals(element)) {//第3层 ResultString = xmlChildElement.getTextTrim(); return ResultString; } } } return ResultString; } /** *根据名称获得第4层节点的值 *@param element String *@return String */ public static String getChildSonElement(String element) { String ResultString=""; String xmlRootElement = xmlDoc.getRootElement().getName(); Iterator xmlRoot = xmlDoc.getRootElement().getChildren().iterator(); while(xmlRoot.hasNext()) { Element xmlSonElement = (Element)xmlRoot.next(); String xmlSonName = xmlSonElement.getName();// Iterator xmlSonRoot = xmlSonElement.getChildren().iterator(); while(xmlSonRoot.hasNext()) { Element xmlChildElement = (Element)xmlSonRoot.next(); String xmlChildName = xmlChildElement.getName(); Iterator xmlChildRoot = xmlChildElement.getChildren().iterator(); while(xmlChildRoot.hasNext()) { Element xmlChildSonElement = (Element) xmlChildRoot.next(); String xmlChildSonName = xmlChildSonElement.getName(); if(xmlChildSonName.equals(element)) {//第4层 ResultString = xmlChildSonElement.getTextTrim(); return ResultString; } } } } return ResultString; } /** * 配置 根据名称获得第2层节点的值getElement(String element) *@param strXML String 输入为 XML String */ public static void xmlConfig(String strXML) throws JDOMException,NullPointerException { try { org.jdom.input.SAXBuilder builder= new org.jdom.input.SAXBuilder(); builder.setValidation(false) ; // ByteArrayInputStream b=new ByteArrayInputStream(strXML.getBytes()); InputStream ins=(InputStream)b; xmlDoc = builder.build(new InputStreamReader(ins)); } catch(JDOMException e) { cncMain.errorlog("[错误]-解析交易接收的XML串发生错误:"+e); throw e; } catch(NullPointerException e) { cncMain.errorlog("[错误]-解析交易接收的XML串发生错误:"+e); throw e; } } public static void xmlFileConfig(String FileName) { try { org.jdom.input.SAXBuilder builder= new org.jdom.input.SAXBuilder(); builder.setValidation(false) ; org.jdom.Document myDoc = builder.build(new InputStreamReader((InputStream)new FileInputStream(FileName))); java.util.Iterator it = myDoc.getRootElement().getChildren().iterator() ; } catch(JDOMException e) { cncMain.errorlog("[错误]-解析XML文件发生错误:"+e ) ; e.printStackTrace(); } catch(Exception e) { cncMain.errorlog("[错误]-解析XML文件发生错误:"+e ) ; e.printStackTrace(); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -