【发布时间】:2015-08-22 11:49:29
【问题描述】:
我的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>
我想通过传递page id和chapter id来获取特定的页面节点。我怎样才能做到这一点?
另外,书节点包含的章节太多,每章包含很多页。所以,我使用 SAX 解析器来解析内容。
【问题讨论】:
-
SAX 中不支持 xpath? :Can SAX Parsers use XPath in Java?
-
我不相信您可以使用带有 SAX 的 xpath 进行查询,因为该文档在任何时候都不会完全保存在内存中。您当然可以在解析时将章节和页面列表存储在某些数据结构中。您可以发布您的 SAX 相关代码吗?
-
@har07 感谢您的更新。我将使用 DOM 解析器。您能否为我提供使用 DOM 的解决方案?
-
@ug_ 感谢您的更新。我将使用 DOM 解析器。您能否为我提供使用 DOM 的解决方案?
-
感谢您的更新@Krish
标签: java android xml xpath saxparser