gpt4 book ai didi

java - 解码原始无模式 XML

转载 作者:行者123 更新时间:2023-11-30 04:04:43 24 4
gpt4 key购买 nike

我有一个 XML 格式的数据输入流。没有模式;任何有效的 XML 都可以提供给我的应用程序。我想做一些事情,比如计算节点数、计算不同级别的属性频率等。

我希望能够将 XML 解码为可以在 Java 中使用的内容。数据量相对较小(100MB),因此我不担心将其全部加载到内存中。我读到的有关 Jaxb 的所有内容都告诉我需要生成数据直接映射到的 java 类。但我不知道数据会是什么样子;我只知道它是 XML。

当我可以获得某种嵌套映射结构,然后自己“遍历”XML 文档时,是否存在“原始”解码功能?

最佳答案

Avoid using non-standard methods例如JDOM。正如评论中已经指出的,您无法解码 XML,因为您不知道里面有什么。大致而言,XML 元素会转换为类成员,因此,如果您事先不知道可能的元素(标记)名称,则不可能使用可以从 XML 来回转换的 JAXB 注释来定义类。

在您的情况下,要对节点和属性进行计数,我将使用 SAX 处理。您可以编写一个简单的 SAX 处理程序来对它们进行计数(甚至为每个元素/属性名称创建一个具有不同计数器的 Hashmap,我不知道您的确切需求)。

“原始”树结构正是 DOM 树(处理 XML 的其他标准方式)。

关于java - 解码原始无模式 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21033691/

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