首页 > 技术文章 > 解析XML

tytr 2018-02-28 11:11 原文

package com.mycompany.springmybatis.service;

import java.io.StringReader;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

 

public class Test {

public static void main(String[] args) {

String res= "<service id=\"FS\" comment=\"\"><RTN_CODE>000</RTN_CODE><RTN_MSG/><CID>0.8612468373</CID><ROOT><YJXXLIST><ITEM><FPQH>08575</FPQH><FPZH>0857</FPZH><KPRQQ>2017-10-17</KPRQQ><KPRQZ>2017-10-17</KPRQZ><JE>38</JE><SE>11</SE><FS>1</FS><ZFBZ>Y</ZFBZ><JCFPDM>2100154</JCFPDM></ITEM><ITEM><FPQH>085753</FPQH><FPZH>085753</FPZH><KPRQQ>2017-10-17</KPRQQ><KPRQZ>2017-10-20</KPRQZ><JE>8155</JE><SE>244</SE><FS>5</FS><ZFBZ>N</ZFBZ><JCFPDM>2100154320</JCFPDM></ITEM></YJXXLIST></ROOT></service>";

Document doc = dom4jXml(res);
//String nsrmc = doc.selectSingleNode("//FPQH").getText();
List list = doc.selectNodes("service//ITEM");
for(int i=0;i<list.size();i++){
Element node = (Element) list.get(i);
String pzhdFpzlDm = node.selectSingleNode("./FPQH").getText();
System.out.println("FPQH名称"+pzhdFpzlDm);
System.out.println("List节点名称"+node.getName());
}
}
/**
* 解析XML
* @param xml 待解析的xml
* @return doc 返回解析xml后的Document对象
*/
public static Document dom4jXml(String xml) {
System.out.println("待解析xml:"+ xml);
SAXReader reader = new SAXReader();
Document doc;
try {
doc = reader.read(new StringReader(xml));
return doc;
} catch (DocumentException e) {
System.out.println("解析xml异常:"+ e);
e.printStackTrace();
return null;
}
}


}

需要两个jar包 

dom4j-1.6.1.jar
jaxen-1.1-beta-6.jar

推荐阅读