XPATH语法
可以获取到某个元素
第一种形式:/AAA/DDD/BBB
第二种形式://BBB(满足双斜杠后面规则的全部得到)
第三种形式:/AAA/BBB/*(*表示所有元素)
第四种形式:/AAA/BBB[1](第一个BBB元素)。/AAA/BBB[last()](最后一个)
第五种形式://BBB[@id](只要BBB上有id属性,都要得到)
第六种形式://BBB[@ID='b1'](id属性的值是b1)
使用dom4j支持xpath的操作
默认情况下,dom4j不支持xpath
如果想要在dom4j里面使用xpath,需要导入jaxen-1.1-beta-6.jar。该文件在dom4j文件lib文件夹内
dom4j里面提供了两个方法,来支持xpath
1、selectNodes("xpath表达式")
2、selectSingleNode("xpath表达式")
使用XPATH获得name标签下的所有内容
public static void test1() throws Exception {
SAXReader reader = new SAXReader();
Document document = reader.read("src/person.xml");
//使用selectNodes
List<Node> list = document.selectNodes("//name");
for(Node node : list){
String s = node.getText();
System.out.println(s);
}
}
获取一个p1标签下第一个name标签的值
public static void test1() throws Exception {
SAXReader reader = new SAXReader();
Document document = reader.read("src/person.xml");
//使用selectSingleNode方法
Node name1 = document.selectSingleNode("//p1[id1='aaa']/name[1]");
String s = name1.getText();
System.out.println(s);
}
}