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

java - 如何从使用 Dom 解析转换为使用 SAX 解析

我正在使用 DOM 将 XML 文档解析为我自己的结构,但在另一个问题中,我被建议使用 SAX,我将如何转换以下内容:

这是我的 DomTree 构造函数:

0 投票
2 回答
4366 浏览

java - 使用 XML 解析器实现作为 OSGi 服务

我正在使用 OSGi(Equinox 平台)开发一个应用程序,其中一个包需要解析 XML 文件。到目前为止,我使用 SAX (javax.xml.parsers.SAXParserFactory) 实现了这个,我想从平台检索 SAXParserFactory。

我看到 OSGi 标准提供了一个 XMLParserActivator 以允许 JAXP 实现自己注册(http://www.osgi.org/javadoc/r4v41/org/osgi/util/xml/XMLParserActivator.html),所以我的猜测是应该是一些将 SAXParserFactory 作为服务提供的包。

但是,我无法确定要添加哪个包作为依赖项才能找到提供 SAXParserFactory 的服务。我尝试使用检索服务引用

鉴于 XML 解析是一件相当常见的事情,我想有可用的实现或其他方式从平台获取 XML 解析器服务。

非常欢迎任何帮助!

0 投票
3 回答
1457 浏览

xml - 用于 XML 文件的真正简单的命令行 SAX 解析器

我之前使用过 xmlstartlet 来处理 XML 文件。您可以给它一个简单的命令行,它会(在内部)生成一个 XSLT 模板并将其应用于 XML 文件。

但是现在我有一个很大的 XML 文件,所以我真的需要为此使用 SAX,而不是 XSLT。与其编写一个简单的程序来执行此操作,我想知道是否有更简单的方法,从命令行获得一个非常简单的 SAX 解析器。您可以给它一些选项,它会沿着您的 XML 文件快速运行并从中打印出一些结构化数据。

0 投票
3 回答
5175 浏览

java - Java - XHTML 文档上的 SAX 解析器

我正在尝试为从网上下载的 XHTML 文档编写 SAX 解析器。起初我遇到了 doctype 声明的问题(我从这里发现这是因为 W3C 故意阻止了对 DTD 的访问),但我通过以下方式解决了这个问题:

但是,现在我遇到了第二个问题。当 SAX 解析器到达 XHTML 文档中嵌入的一些 Javascript 时,它会引发异常:

具体来说,解析器一旦到达 && 就会抛出一个错误,因为它期待一个实体引用。确切的例外是:

我怀疑(但我不知道)如果我没有禁用 DTD,那么我就不会收到此错误。那么,如何避免DTD错误,避免实体引用错误呢?

干杯,

皮特

0 投票
3 回答
7863 浏览

java - Java 中的高效 XSLT 管道(或将结果重定向到源)

我有一系列相互馈送的 XSL 2.0 样式表,即样式表 A 的输出馈送 B 馈送 C。

这样做最有效的方法是什么?重新表述的问题是:如何有效地将一种转换的输出路由到另一种转换。

这是我的第一次尝试:

如您所见,我使用 DOM 来进行转换,虽然它很方便,但在性能方面并不是最优的。

是否有任何简单的路由方法可以将 SAXResult 路由到 SAXSource?StAX 解决方案将是另一种选择。

我知道像XProc这样的项目,如果你还没有看过的话,这很酷,但我不想投资整个框架。

0 投票
3 回答
2974 浏览

xml - 如何使用 XML::LibXML 通过 SAX 解析 XML?

到目前为止,我发现的唯一示例代码太旧了,它不再起作用(使用不推荐使用的类)。我只需要一些基本的东西来证明:

  1. 从文件加载和解析 XML

  2. 定义 SAX 事件处理程序

  3. 读取传递给事件处理程序的元素的属性或文本值

0 投票
2 回答
286 浏览

xml - SAX 代码效率

我有一个关于 SAX 的相对一般的问题。我了解它是如何工作的,并且根据我读过的教程,我学会了通过拥有大量的数据成员来保持状态,比如 inNode 是布尔值,然后在每个事件处理程序中,检查每个布尔值并相应地处理参数.

对我来说,这似乎真的很低效,有没有更有效的方法或者这只是 SAX 的本质?

谢谢,克里斯

0 投票
3 回答
18276 浏览

java - 如何随时停止使用 SAX 解析 xml 文档?

我用 Sax 解析一个大的 xml 文档,我想在某些条件成立时停止解析文档?怎么做?

0 投票
2 回答
1189 浏览

java - Java中的SAX解析器

SAX 解析器可以处理自结束标记吗?还是会导致错误?例如<br/> or <hr/>

0 投票
1 回答
650 浏览

xml - 如何获得 libxml2 的 SAX2 接口让我看到 < et al?

我有一些使用 libxml2 的 SAX2 接口的代码。我希望能够将 < 类型实体视为实体引用而不是字符,但似乎无论我做什么,libxml2 都会变成&lt;< 然后将其交给我的字符回调而不是调用我的引用回调。

关于如何强制 libxml2 为基本的预定义实体调用我的参考回调的任何想法?