问题标签 [sax]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
24548 浏览

java - 在 java 中解析非常大的 XML 文档(以及更多)

(以下全部用Java编写)

我必须构建一个将可能非常大的 XML 文档作为输入的应用程序。该文档是加密的——不是使用 XMLsec,而是使用我的客户预先存在的加密算法——将分三个阶段进行处理:

首先,将根据上述算法对流进行解密。

其次,扩展类(由第三方编写到我提供的 API)将读取文件的某些部分。读取的数量是不可预测的——特别是它不能保证在文件的标题中,但可能出现在 XML 中的任何位置。

最后,另一个扩展类(同样处理)将输入 XML 细分为 1..n 个子集文档。这些可能会在某些部分与第二个操作处理的文档部分重叠,即:我相信我需要回退我用来处理这个对象的任何机制。

这是我的问题:

有没有一种方法可以做到这一点,而无需一次将整个数据读入内存?显然我可以将解密实现为输入流过滤器,但我不确定是否可以按照我描述的方式解析 XML;通过遍历尽可能多的文档以收集第二步的信息,然后通过倒回文档并再次将其传递以将其拆分为作业,理想情况下释放文档中不再使用的所有部分他们已经通过了。

0 投票
3 回答
695 浏览

java - 嵌套 SAX ContentHandler

我想使用 SAX 解析文档,并从一些元素创建一个子文档,同时纯粹使用 SAX 处理其他元素。因此,鉴于此文档:

我想使用 SAX ContentHandler 解析 DOC 和 DOC/entries 元素,但是当我点击时,<small>我想创建一个仅包含 the<small>及其子项的新文档。

有没有一种简单的方法可以做到这一点,还是我必须自己手动构建 DOM?

0 投票
1 回答
194 浏览

java - 如何使用 org.xml.sax.ext.EntityResolver2 resolveEntity 方法获取非空名称参数?

在 Java SAX 处理中,我无法从 org.xml.sax.ext.EntityResolver2resolveEntity 方法中获取实体引用名称。name 参数始终null是即使文档声明'name' is never null when invoked by a SAX2 parser.

任何想法 ?

为了演示这个问题,我创建了一个 Jython 2.5 脚本。它打印(在我的盒子上):

Jython 2.5 脚本:

0 投票
4 回答
8553 浏览

.net - XPathReader 发生了什么

XPathReader 是/是正读 XML 解析器(基于 XMLReader 构建)的实现,它允许您注册 XPath 查询以供它查找(或至少称为Sequential XPath的 XPath 子集)。这似乎是轻松访问 xml 流元素的完美选择,或者您只需要从大型 xml 文档的开头提取一些信息,因此不想将整个内容加载到内存中的情况。

对于其中一位 MS 人员在 2003/2004 年发布的开源实现,似乎有一阵兴奋,例如:

http://donxml.com/allthingstechie/archive/2004/02/26/430.aspx

http://msdn.microsoft.com/en-us/library/ms950778.aspx

http://www.tkachenko.com/blog/archives/000472.html

但在那之后,这条小路似乎干涸了。对托管实施的位置 ( http://workspaces.gotdotnet.com/xpathreader ) 的引用似乎不再有效。有谁知道发生了什么事,为什么感兴趣的人消失了?

0 投票
1 回答
674 浏览

c++ - SAX 在 C++ 中解析用户对象的片段?

任何人都可以分享一段代码,他们在 C++ 中使用 SAX 解析器解析用户定义的对象。

0 投票
5 回答
1741 浏览

java - 回复:大 XML 文件

Big XML File的后续问题:

首先非常感谢您的回答。之后……我做错了什么?这是我使用 SAX 的课程:

你可以看到我对我的 XML 文件没有做任何事情,但它给出了这个错误:

我也尝试了 Stax……同样的错误……我该怎么办?我还将 Java 堆大小增加到 1260M

XML 文件具有以下形式:

您可以找到原始文件:http ://dblp.uni-trier.de/xml/

谢谢

0 投票
2 回答
1148 浏览

java - 小程序失败中的 SAX 解析器

我的源代码中有一行非常简单的代码:

这在应用程序中完美无缺,但是,从小程序中,它尝试从服务器加载“.class”文件(没有类名,只是您看到的扩展名),然后无法给我一个解析器。

可能是什么问题呢?

0 投票
2 回答
4624 浏览

xml - 我可以从 Java 中的 dtd 文件创建 XML 文档吗?

我有一个包含元素和属性规范的简单 DTD 文件。我可以创建一个合适的 XML 文件(带有 DOM),用 Java 解析这个 DTD 而没有外部 API?

提前致谢

0 投票
5 回答
14746 浏览

xml - 与 DOM 和 SAX 相比,XPath 是否更高效?

我需要解析一个 xml 字符串并查找特定文本节点的值、属性值等。我在 javascript 中执行此操作,并且使用 DOMParser 类来实现相同的目的。后来我被告知 DOM 会占用大量内存,而 SAX 是一个更好的选择。

最近我发现 XPath 也提供了一种查找节点的简单方法。

但我不确定这 3 种中哪一种是解析 XML 的最有效方法。请帮助....

0 投票
4 回答
2333 浏览

python - Python SAX 解析器说 XML 文件格式不正确

我从 XML 文件中删除了一些我认为不必要的标签。现在,当我尝试解析它时,我的 SAX 解析器会抛出一个错误,并说我的文件格式不正确。但是,我知道每个开始标签都有一个结束标签。文件的开始标签有一个指向 XML 模式的链接。这会造成麻烦吗?如果是这样,那我该如何解决?

编辑:我想我找到了问题所在。我的字符数据包含“<”和“>”字符,大概来自 html 标签。在被解析之后,这些被转换为“<”和“>”字符,这似乎打扰了 SAX 解析器。有什么办法可以防止这种情况发生吗?