簡體   English   中英

如何使用Java中的XPath從XML中獲取特定節點?

[英]How can I fetch specific nodes from XML using XPath in Java?

我的xml文件結構是這樣的

<?xml version="1.0" encoding="utf-8" ?>
<book>
    <chapters>
        <chapter id="1">
            <page id="1" cid= "1" bid = "Book1">
                <text>Hi</text>
            </page>
            <page id="2" cid= "1" bid = "Book1">
                <text>Hi</text>
            </page>
        </chapter>
        <chapter id="2">
            <page id="1" cid= "2" bid = "Book1">
                <text>Hi</text>
            </page>
            <page id="2" cid= "2" bid = "Book1">
                <text>Hi</text>
            </page>
        </chapter>
        <chapter id="3">
            <page id="1" cid= "3" bid = "Book1">
                <text>Hi</text>
            </page>
            <page id="2" cid= "3" bid = "Book1">
                <text>Hi</text>
            </page>
        </chapter>
    </chapters>
</book>

我希望通過傳遞頁面ID章節ID來獲取特定的頁面節點。 我怎樣才能做到這一點?

此外,書籍節點包含太多章節,每章包含許多頁面。 所以,我正在使用SAX解析器來解析內容。

“我如何使用Java中的XPath從XML中獲取特定節點?”

我對Java和Android不是很熟悉,但是從XML樣本中獲取特定page的xpath,傳遞page idchapter id應該是這樣的:

//chapter[@id='chapter_id_here']/page[@id='page_id_here']

簡要說明 :

  • //chapter :在XML中的任何地方找到chapter元素...
  • [@id='chapter_id_here'] :...其中id屬性值等於特定章節id
  • /page :從每個過濾的chapter元素中,找到子元素page ...
  • [@id='page_id_here'] :...其中id屬性值等於特定頁面ID

您可以按照以下線程實現在Java中執行xpath表達式: 如何在Java和Android中使用XPath讀取XML :在Android中使用XPath 在XML文件中搜索

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM