使用XPath技术快速获取节点

代码示例:

package AAA;

import java.io.File;
import java.util.List;

import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;

public class TestXPath {
public static void main(String[] args) throws DocumentException {
//(1)创建SAXReader对象
SAXReader reader = new SAXReader();
//(2)读取XML文件
Document doc = reader.read("book.xml");
//得到第一个author节点
Node node = doc.selectSingleNode("//author");
System.out.println("节点名称:"+node.getName()+"\t"+node.getText());

System.out.println();

//获得所有的author
List<Node> nodes = doc.selectNodes("//author");
for (Node n :nodes) {
System.out.println("节点名称:"+n.getName()+"\t"+n.getText());
}

//选择有ID属性的元素
List<Attribute> attributes = doc.selectNodes("//book/@id");
for (Attribute att:attributes) {
System.out.println("属性名称:"+att.getName()+"\t属性值:"+att.getValue());
}
}
}

猜你喜欢

转载自www.cnblogs.com/LuJunlong/p/12152986.html