问题标签 [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.
java - 如何配置 Java 的 SaxParserFactory 以禁用实体检查?
我正在编写一个屏幕抓取应用程序,它可以读取各种页面并提取数据。我正在使用SAXParserFactory
go get a SAXParser
,这反过来又让我获得了XMLReader
. 我已经像这样配置了工厂:
但是,每当我解析包含 
实体的文档时,我都会得到一个
我可以理解它找不到实体,因为我告诉工厂不要读取 DTD,但是如何禁用实体检查呢?
编辑:这是一个 Android 应用程序,这就是为什么我不愿意使用不在标准环境中的 API/库。
python - 使用 SAX/Python 解析 XML + 无验证
我是 python 新手,我正在尝试使用 SAX 解析 XML 文件而不验证它。
我的 xml 文件的头是:
我尝试用 python 2.5.2 解析它:
但我得到一个错误:
我不希望 SAX 解析器寻找模式。我哪里错了?谢谢 !
java - 在构建文档时验证 java 中的 xml
我正在将 excel 电子表格转换为需要针对模式进行验证的 xml 文档。我目前正在使用 DOM api 构建 xml 文档,并在最后使用 SAX 和自定义错误处理程序进行验证。但是,我真的希望能够在解析 excel 文档时验证每个 Cell 生成的 xml,这样我就可以以更友好的方式指出哪些单元格有问题。
我目前遇到的问题是,在验证简单类型的 xml 后,一旦将它们构建为复杂类型,所有子节点都会再次验证,从而产生冗余错误。
我在 SO 发现了这个问题,但它使用的是 C# 和 Microsoft API。
想法?谢谢!
java - Java:如何在 JTree 中显示 XML 文件
我想有一种方法可以在JTree
. 我已经使用 DOM 通过实现自定义TreeModel
(and TreeCellRenderer
) 实现了这一点。然而,它非常笨重(很多变通方法和骇客)并且边缘相当粗糙。
有没有人知道一种方法来JTree
显示用 SAX 解析的 XML 文件的内容?
谢谢!
android - SAX、StringBuilder 和内存泄漏
我有一个奇怪的问题。我正在解析一个带有大文本字段的文档。在我的字符部分,我正在使用 StringBuilder
然后在我的 endElement 中,我将它分配给我的对象上的适当字段。
setSummaryText(String text)
方法是:
而且我的内存快用完了。
如果我将 setSummaryText 更改为像这样完全奇怪的东西
我很好。我只是不知道我在哪里拿着那个参考?Story 是这个对象的成员变量,用“”初始化;注意 - 分配给本地字符串变量而不是 char[] - 也会失败。
java - 无法使用 SAX 读取某些属性
我正在尝试使用 SAX 解析该文档:
我很好地阅读了所有属性,除了“initialstate”和“name”......我使用 startElement 处理程序获取属性,但 scxml 的属性列表的大小为零。为什么?我怎样才能克服这个问题?
编辑:
这在解析第一个标签时不起作用(打印“null”两次)。实际上,
评估为零。
谢谢
python - 具有停止/恢复功能的惰性 SAX XML 解析器
我很确定答案是否定的,但当然还有比我更聪明的人!
有没有办法构建一个可以停止的基于惰性 SAX 的 XML 解析器(例如,引发异常是一种可能的方式)但也可以恢复?
我正在寻找 Python >= 2.6 和标准 XML 库的可能解决方案。“懒惰”部分也是微不足道的:我真的很喜欢这里的“可恢复”属性。
java - SAX 解析 - 获取文本节点的有效方法
鉴于此 XML 片段
在 SAX 中,很容易获取属性值:
但是要获得一个文本节点的值,例如<author>
标签的值,这是相当困难的......
- 我不确定上面的示例是否有效,您如何看待这种方法?
- 有没有更好的办法?(获取文本节点的值)
python - 如何在 python 中异步处理 xml?
我有一个大的 XML 数据文件(>160M)要处理,看起来 SAX/expat/pulldom 解析是要走的路。我想要一个线程来筛选节点并将要处理的节点推送到队列中,然后其他工作线程将下一个可用节点从队列中拉出并处理它。
我有以下内容(它应该有锁,我知道 - 稍后会有)
问题是while
块的主体只被调用一次,然后我什至不能 ctrl-C 中断它。在较小的文件上,输出符合预期,但这似乎表明处理程序仅在文档完全解析时才被调用,这似乎违背了 SAX 解析器的目的。
我确定这是我自己的无知,但我不明白我在哪里犯了错误。
PS:我也尝试过start_handler
这样的改变:
然而,没有爱。
java - 涉及命名空间时从 SAX 属性中获取值
我正在使用 SAX 来解析一些 XML。在我的处理程序的startElement()方法中,我试图读取一个名为的属性的值,xsi:type
例如:
但是,它总是返回null
。这适用于其他一切,所以我假设这是由于命名空间前缀。我怎样才能得到这个值?