如何在 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 解析器来解析内容。
"How can I fetch specific nodes from XML using XPath in Java?"
我对 Java 和 Android 不是很熟悉,但是从你的 XML 示例中获取特定 page
的 xpath,传递 page id
chapter 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 表达式:How to read XML using XPath in Java, and in Android : Search in XML File with XPath in Android
我的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 解析器来解析内容。
"How can I fetch specific nodes from XML using XPath in Java?"
我对 Java 和 Android 不是很熟悉,但是从你的 XML 示例中获取特定 page
的 xpath,传递 page id
chapter id
应该看起来像这样:
//chapter[@id='chapter_id_here']/page[@id='page_id_here']
简要说明:
//chapter
: 在 XML... 中的任意位置查找 [@id='chapter_id_here']
: ...其中id
属性值等于特定章节 ID/page
: 从过滤后的每个chapter
元素中,找到子元素page
...[@id='page_id_here']
: ...其中id
属性值等于特定页面 ID
chapter
元素
您可以按照这些线程执行 Java 中的 xpath 表达式:How to read XML using XPath in Java, and in Android : Search in XML File with XPath in Android