XML基礎--XPath

 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());  

        } 

    還有很多種方法,可查閱官方文檔

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章