gpt4 book ai didi

java - 如何在此 xml 文件上使用 SAX

转载 作者:数据小太阳 更新时间:2023-10-29 02:07:00 24 4
gpt4 key购买 nike

我有一个 XML 文件,我试图用 Sax 解析它(这是我第一次这样做)。我已经研究了如何实现解析器,这一切都很有道理,但我不确定解决这个问题的最佳方法。

我有一些零散的相关数据(两个事实由一个 FactKey 关联)。在下面的示例中,Foo 的值为 5.34。

Sax 在每个新元素上调用 StartElement(),所以这是对 Facts 的一次调用和对 Value 的一次调用....所以我的问题是:我是否必须存储 Facts 元素中的 FactKey,以便我可以将它与Value 元素,或者 Sax 是否有自动执行此操作的方法?

是否有任何内置工具可以将两个不同的事实与同一个 FactKey 相关联,也许如果我使用 DOM 而不是 Sax?或者这只是一厢情愿,我实际上只需要维护一个多图或其他东西。

 ...
<Facts FactKey="2832154551" FieldId="73250">
<Value xsi:type="xs:double">5.3499999</Value>
</Facts>
...
<Facts FactKey="2832154551" FieldId="410288">
<Value xsi:type="xs:string">Foo</Value>
</Facts>

最佳答案

您可以使用 SAX 来做这类事情,但您可能会发现它很快就会变得乏味。 SAX 是一种基本的构建 block 类工具。假设您的文档小于 20 MB 左右,您几乎肯定会发现将整个文档加载到内存中并使用更强大的工具对其进行处理更为方便。 DOM 的编程也有点乏味,主要是因为它的 API 设计不佳,但具有可以针对它运行 XPath 表达式的优点,可以有效地让您找到具有特定键值的所有节点。您可能会发现 JDOM、XOM 和 DOM4J 等其他树 API 更符合您的喜好。然而,最终您可能会想要使用更丰富的编程语言,如 XSLT 或 xquery。 XSLT 有一个内置的“键”指令,可以让您定义一个索引,以便根据您描述的键快速查找项目,并为处理 XML 提供丰富的编程环境。

关于java - 如何在此 xml 文件上使用 SAX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7520756/

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