Kri*_*ish 6 java xml xpath android saxparser
我的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>
Run Code Online (Sandbox Code Playgroud)
我希望通过传递页面ID和章节ID来获取特定的页面节点.我怎样才能做到这一点?
此外,书籍节点包含太多章节,每章包含许多页面.所以,我正在使用SAX解析器来解析内容.
“如何使用 Java 中的 XPath 从 XML 获取特定节点?”
我对 Java 和 Android 不是很熟悉,但是page
从 XML 示例中获取特定的 xpath、传递page id
和chapter id
应该如下所示:
//chapter[@id='chapter_id_here']/page[@id='page_id_here']
Run Code Online (Sandbox Code Playgroud)
简要说明 :
//chapter
chapter
:在 XML 中的任意位置查找元素...[@id='chapter_id_here']
: ...其中id
属性值等于特定章节 ID/page
:从每个过滤chapter
元素中,找到子元素page
...[@id='page_id_here']
: ...其中id
属性值等于特定页面 ID您可以按照以下线程执行 Java 中的 xpath 表达式:How to read XML using XPath in Java和 Android 中:Search in XML File with XPath in Android