public class ReadXmlByDom4J {
public static void main(String args[]){
File f=new File("F:\\car.xml");
Dom4J(f);
}
public static void Dom4J(File f){
try {
SAXReader reader=new SAXReader(); //使用SAXReader方式读取XML文件
Document doc=reader.read(f); //加载XML配置文件,得到Document对象
Element root=doc.getRootElement(); //获得根节点
//取得某节点的单个子节点
System.out.println("-------取得某节点的单个子节点开始----------");
Element value=root.element("VALUE");
// System.out.println(value.getName()+","+value.getText());
Element no=value.element("NO"); //只获得第一个元素
Element addr=value.element("ADDR");
System.out.println(no.getName()+":"+no.getText());
System.out.println(addr.getName()+":"+addr.getText());
System.out.println("--------取得某节点的单个子节点结束----------");
for(Iterator i=root.elementIterator("VALUE");i.hasNext();){
Element temp=(Element) i.next();
System.out.println(temp.selectSingleNode("NO").getName()+":"+temp.selectSingleNode("NO").getText());
}
} catch (DocumentException e) {
e.printStackTrace();
}
}
}
car.xml
<?xml version="1.0" encoding="GB2312"?>
<RESULT>
<VALUE>
<NO>A1234</NO>
<ADDR>河南省郑州市金水区</ADDR>
</VALUE>
<VALUE>
<NO>B1234</NO>
<ADDR>河南省郑州市二七区</ADDR>
</VALUE>
</RESULT>
输出结果:
-------取得某节点的单个子节点开始----------
NO:A1234
ADDR:河南省郑州市金水区
--------取得某节点的单个子节点结束----------
NO:A1234
NO:B1234