gpt4 book ai didi

java - 如何在 Java 中使用 XPath 从 XML 中获取特定节点?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:09:51 26 4
gpt4 key购买 nike

我的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,但是 xpath 从你的 XML 示例中获取特定的 page,传递 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 表达式:How to read XML using XPath in Java , 在 Android 中:Search in XML File with XPath in Android

关于java - 如何在 Java 中使用 XPath 从 XML 中获取特定节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30701914/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com