<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    dom4j實(shí)例 的Xpath解析 轉(zhuǎn)

    books.xml:

    <?xml version="1.0" encoding="UTF-8"?>  
        
    <books>  
            
    <!--This is a test for dom4j, jakoes, 2007.7.19-->  
            
    <book show="yes" url="lucene.net">  
                
    <title id="456">Lucene Studing</title>  
            
    </book>  
            
    <book show="yes" url="dom4j.com">  
                
    <title id="123">Dom4j Tutorials</title>  
            
    </book>  
            
    <book show="no" url="spring.org">  
                
    <title id="789">Spring in Action</title>  
            
    </book>  
            
    <owner>O'Reilly</owner>  
        </books> 



    public void parseBooks(){  
             
            SAXReader reader 
    = new SAXReader();  
            
    try {  
                Document doc 
    = reader.read("books.xml");  
                Node root 
    = doc.selectSingleNode("/books");  
                List list 
    = root.selectNodes("book[@url='dom4j.com']");  
                 
                
    for(Object o:list){  
                     
                    Element e 
    = (Element) o;  
                    String show
    =e.attributeValue("show");  
                    System.out.println(
    "show = " + show);  
                }  
                
            } 
    catch (Exception e) {  
                e.printStackTrace();  
            }  
        }  
    Document doc 
    = reader.read("books.xml");的意思是加載XML文檔,此是可以用doc.asXML()來查看,它將打印整個(gè)xml文檔。

      Node root 
    = doc.selectSingleNode("/books");是讀取剛才加載的xml文檔內(nèi)的books節(jié)點(diǎn)下的所有內(nèi)容,對(duì)于本例也是整個(gè)xml文檔。
      當(dāng)然我們也可以加載
    /books下的某一個(gè)節(jié)點(diǎn),如:book節(jié)點(diǎn)
    Node root 
    = doc.selectSingleNode("/books/book");
    或:Node root 
    = doc.selectSingleNode("/books/*");
    注意:如果有多個(gè)book節(jié)點(diǎn),它只會(huì)讀取第一個(gè)
    root.asXML()將打印:
    <book show="yes" url="lucene.net">
            
    <title id="456">Lucene Studing</title>
    </book>

      既然加載了這么多,那我怎么精確的得到我想要的節(jié)點(diǎn)呢,別急,看下面:
    List list 
    = root.selectNodes("book[@url='dom4j.com']");
    它的意思就是讀取books節(jié)點(diǎn)下的book節(jié)點(diǎn),且book的節(jié)點(diǎn)的url屬性為dom4j.com
    為什么使用list來接收呢,如果有兩個(gè)book節(jié)點(diǎn),且它們的url屬性都為dom4j.com,此時(shí)就封閉到list里了。

      如果想讀取books下的所有book節(jié)點(diǎn),可以這樣:
    List list 
    = root.selectNodes("book");

      如果想讀取books節(jié)點(diǎn)下的book節(jié)點(diǎn)下的title節(jié)點(diǎn),可以這樣:
    List list2 
    = root.selectNodes("book[@url='dom4j.com']/title[@id='123']");

      注意:selectNodes()參數(shù)的格式:
      節(jié)點(diǎn)名[@屬性名
    ='屬性值'],如:book[@url='dom4j.com']
      如果有多個(gè)節(jié)點(diǎn),用“
    /”分開,如:book[@url='dom4j.com']/title[@id='123']

      最近就是讀取封閉在List里的內(nèi)容了,可以用Node來讀取,也可以用Element來轉(zhuǎn)換。
    attributeValue(
    "屬性")是讀取該節(jié)點(diǎn)的屬性值
    getText()是讀取節(jié)點(diǎn)的的內(nèi)容。




    posted on 2012-06-14 08:56 youngturk 閱讀(1088) 評(píng)論(0)  編輯  收藏 所屬分類: 幾種文檔解析

    <2012年6月>
    272829303112
    3456789
    10111213141516
    17181920212223
    24252627282930
    1234567

    導(dǎo)航

    統(tǒng)計(jì)

    公告

    this year :
    1 jQuery
    2 freemarker
    3 框架結(jié)構(gòu)
    4 口語英語

    常用鏈接

    留言簿(6)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    相冊(cè)

    EJB學(xué)習(xí)

    Flex學(xué)習(xí)

    learn English

    oracle

    spring MVC web service

    SQL

    Struts

    生活保健

    解析文件

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: A国产一区二区免费入口| 亚洲影院天堂中文av色| 国产午夜精品理论片免费观看 | 女人18毛片水最多免费观看| 亚洲一欧洲中文字幕在线| 国产精品视频免费| 亚洲男人的天堂久久精品| 好大好深好猛好爽视频免费| 亚洲熟女精品中文字幕| 日韩免费视频播播| 深夜a级毛片免费无码| 国产亚洲精品久久久久秋霞| 成人免费ā片在线观看| 香蕉视频在线观看亚洲| 黄网站色在线视频免费观看| 亚洲精品亚洲人成在线| 亚洲 国产 图片| 中文在线观看免费网站| 亚洲电影一区二区三区| 黄页网站在线观看免费高清| 亚洲成a人无码亚洲成www牛牛| 免费一级毛片不卡在线播放 | 亚洲视频在线免费播放| 亚洲欧美中文日韩视频| 亚洲国产成人久久精品99 | 激情婷婷成人亚洲综合| 亚洲午夜久久久久妓女影院| **一级毛片免费完整视| 校园亚洲春色另类小说合集| 久久久久久a亚洲欧洲aⅴ| 99无码人妻一区二区三区免费| 无码天堂va亚洲va在线va| 国产精品亚洲一区二区三区在线| 97热久久免费频精品99| 午夜不卡AV免费| 亚洲国产精品成人综合久久久| 免费一级毛片在线播放不收费| 久久一区二区三区免费播放| 亚洲AⅤ男人的天堂在线观看| 亚洲va国产va天堂va久久| 最近中文字幕免费mv视频8|