xml文件test.xml代码如下:
<?xml version= '1.0' encoding='gb2312'?>
<weighData>
<a>
<b>111</b>
<c>333</c>
</a>
<a>
<b>222</b>
<c>444</c>
</a>
<a>
<b>555</b>
<c>666</c>
</a>
</weighData>
获取<b></b>节点的值为222的<a></a>节点,代码如下:
package com.zl.test;
import java.io.File;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class XmlTest {
public static void main(String[] args) {
File file = new File("D:/test.xml");
try {
SAXReader reader = new SAXReader();
Document document =reader.read(file);
Element ele = (Element) document.selectSingleNode("//weighData/a[b='222']");
if(ele!=null){
System.out.println("=========="+ele.asXML());
}else{
System.out.println("=========="+null);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
运行结果:
==========<a><b>222</b>
<c>444</c>
</a>