问题标签 [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 投票
4 回答
6392 浏览

java - 如何配置 Java 的 SaxParserFactory 以禁用实体检查?

我正在编写一个屏幕抓取应用程序,它可以读取各种页面并提取数据。我正在使用SAXParserFactorygo get a SAXParser,这反过来又让我获得了XMLReader. 我已经像这样配置了工厂:

但是,每当我解析包含&nbsp实体的文档时,我都会得到一个

我可以理解它找不到实体,因为我告诉工厂不要读取 DTD,但是如何禁用实体检查呢?

编辑:这是一个 Android 应用程序,这就是为什么我不愿意使用不在标准环境中的 API/库。

0 投票
1 回答
3814 浏览

python - 使用 SAX/Python 解析 XML + 无验证

我是 python 新手,我正在尝试使用 SAX 解析 XML 文件而不验证它。

我的 xml 文件的头是:

我尝试用 python 2.5.2 解析它:

但我得到一个错误:

我不希望 SAX 解析器寻找模式。我哪里错了?谢谢 !

0 投票
4 回答
267 浏览

java - 在构建文档时验证 java 中的 xml

我正在将 excel 电子表格转换为需要针对模式进行验证的 xml 文档。我目前正在使用 DOM api 构建 xml 文档,并在最后使用 SAX 和自定义错误处理程序进行验证。但是,我真的希望能够在解析 excel 文档时验证每个 Cell 生成的 xml,这样我就可以以更友好的方式指出哪些单元格有问题。

我目前遇到的问题是,在验证简单类型​​的 xml 后,一旦将它们构建为复杂类型,所有子节点都会再次验证,从而产生冗余错误。

我在 SO 发现了这个问题,但它使用的是 C# 和 Microsoft API。

想法?谢谢!

0 投票
1 回答
8748 浏览

java - Java:如何在 JTree 中显示 XML 文件

我想有一种方法可以在JTree. 我已经使用 DOM 通过实现自定义TreeModel(and TreeCellRenderer) 实现了这一点。然而,它非常笨重(很多变通方法和骇客)并且边缘相当粗糙。

有没有人知道一种方法来JTree显示用 SAX 解析的 XML 文件的内容?

谢谢!

0 投票
1 回答
2011 浏览

android - SAX、StringBuilder 和内存泄漏

我有一个奇怪的问题。我正在解析一个带有大文本字段的文档。在我的字符部分,我正在使用 StringBuilder

然后在我的 endElement 中,我将它分配给我的对象上的适当字段。

setSummaryText(String text)方法是:

而且我的内存快用完了。

如果我将 setSummaryText 更改为像这样完全奇怪的东西

我很好。我只是不知道我在哪里拿着那个参考?Story 是这个对象的成员变量,用“”初始化;注意 - 分配给本地字符串变量而不是 char[] - 也会失败。

0 投票
2 回答
2394 浏览

java - 无法使用 SAX 读取某些属性

我正在尝试使用 SAX 解析该文档:

我很好地阅读了所有属性,除了“initialstate”和“name”......我使用 startElement 处理程序获取属性,但 scxml 的属性列表的大小为零。为什么?我怎样才能克服这个问题?

编辑

这在解析第一个标签时不起作用(打印“null”两次)。实际上,

评估为零。

谢谢

0 投票
1 回答
1018 浏览

python - 具有停止/恢复功能的惰性 SAX XML 解析器

我很确定答案是否定的,但当然还有比我更聪明的人!

有没有办法构建一个可以停止的基于惰性 SAX 的 XML 解析器(例如,引发异常是一种可能的方式)但也可以恢复

我正在寻找 Python >= 2.6 和标准 XML 库的可能解决方案。“懒惰”部分也是微不足道的:我真的很喜欢这里的“可恢复”属性。

0 投票
2 回答
18941 浏览

java - SAX 解析 - 获取文本节点的有效方法

鉴于此 XML 片段

在 SAX 中,很容易获取属性值:

但是要获得一个文本节点的值,例如<author>标签的值,这是相当困难的......

  1. 我不确定上面的示例是否有效,您如何看待这种方法?
  2. 有没有更好的办法?(获取文本节点的值)
0 投票
4 回答
2940 浏览

python - 如何在 python 中异步处理 xml?

我有一个大的 XML 数据文件(>160M)要处理,看起来 SAX/expat/pulldom 解析是要走的路。我想要一个线程来筛选节点并将要处理的节点推送到队列中,然后其他工作线程将下一个可用节点从队列中拉出并处理它。

我有以下内容(它应该有锁,我知道 - 稍后会有)

问题是while块的主体只被调用一次,然后我什至不能 ctrl-C 中断它。在较小的文件上,输出符合预期,但这似乎表明处理程序仅在文档完全解析时才被调用,这似乎违背了 SAX 解析器的目的。

我确定这是我自己的无知,但我不明白我在哪里犯了错误。

PS:我也尝试过start_handler这样的改变:

然而,没有爱。

0 投票
2 回答
1611 浏览

java - 涉及命名空间时从 SAX 属性中获取值

我正在使用 SAX 来解析一些 XML。在我的处理程序的startElement()方法中,我试图读取一个名为的属性的值,xsi:type例如:

但是,它总是返回null。这适用于其他一切,所以我假设这是由于命名空间前缀。我怎样才能得到这个值?