1.引入
問題:當時用dom4j查詢比較深的層次結構的節點時,比較麻煩
2.作用
快速獲取節點對象
3.語法
/ 絕對路徑 表示從xml的根位置開始或子元素(一個層次結構)
// 相對路徑 表示不分任何層次結構的選擇元素。
* 通配符 表示匹配所有元素
[] 條件 表示選擇什麼條件下的元素
@ 屬性 表示選擇屬性節點
and 關係 表示條件的與關係(等價於&&
text() 文本 表示選擇文本內容
4.使用
a.導入XPath支持jar包
b.代碼:
//先寫一個Student.XML文件
<students><student id ="s001">
<name>張三</name>
<age>20</age>
<tel>1210</tel>
</student>
<student id = "s002">
<name>李四</name>
<age>26</age>
<tel>0123</tel>
</student>
</students>
//比如尋找id="s002"的student標籤
String path = "//student[@id='s002']";
//尋找name爲王五的人標籤
String path = "//name[text()='王五']";
//配合xPath找到單個節點對象
Element selectSingleNode = (Element) doc.selectSingleNode(path);
System.out.println(selectSingleNode.getName());
//找到根標籤下的所有標籤 selectNodes(path);配合xPath 找到多個節點
String path = "//student";
List<Node> selectNodes = doc.selectNodes(path);
for (Node node : selectNodes) {
System.out.println(node.getName());
}
還有很多種方法,可查閱官方文檔