使用XPath技术快速获取节点

Posted lujunlong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用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()+" "+node.getText());

System.out.println();

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

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

以上是关于使用XPath技术快速获取节点的主要内容,如果未能解决你的问题,请参考以下文章

XPath详解

XPath快速定位节点

用DOM解析XML ,用xpath快速查询XML节点

Chrome浏览器快速获取静态控件的XPATH

xpath的基本使用

XML基础--XPath