问题标签 [stax]

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 回答
2051 浏览

java - 使用 StaX 附加 XML 元素

我有一个使用用户节点列表的 xml 文档。

有没有办法使用 StAX API 执行以下操作?

  1. 更新密码属性 [用于更改密码选项]
  2. 添加一个新的用户节点
0 投票
1 回答
180 浏览

java - java有没有相当于python的pulldom?

StAX 似乎是一个拉式解析器(类似于 SAX,但没有控制反转)。但是我没有找到与python的expandNode等效的东西,这是我首先感兴趣的,我不关心控制反转。

对于那些不了解 pulldom 的人来说,它是一个 S(t)AX 解析器,您可以在其中随时获取当前子树作为 DOM 节点。

0 投票
2 回答
8088 浏览

java - 使用 JDK 1.6 时,我的 Web 应用程序中是否需要 stax-api-1.0.x?

我目前正在开发一个使用 Jersey 进行 REST 的网络应用程序。我使用 maven,stax-api-1.0.1 和 1.0.2 都被拉入我的 web-inf/lib。我认为stax api是JDK1.6的aprt?

为什么这些 JARS 包含在我的 Web 应用程序中?

这是我的 pom.xml

0 投票
3 回答
2250 浏览

java - Java - 读取 XML 并保留所有实体

我想使用 SAX 或 StAX 读取 XHTML 文件,无论哪种效果最好。但我不希望实体被解决、替换或类似的事情。理想情况下,它们应该保持原样。我不想使用 DTD。

这是一个(可执行的,使用 Scala 2.8.x)示例:

鉴于以下 xhtml 文件...

...运行scala stax-test.scala stax-test.xhtml将导致:

因此,所有实体或多或少都已成功替换。不过,我所期望的和我想要的是:

这甚至可能吗?我想解析 XHTML,进行一些修改,然后再次将其输出为 XHTML。所以我真的希望实体保留在结果中。

另外我不明白为什么 Uuml 被报告为 EntityReference 事件,而其余的则不是。

0 投票
2 回答
5490 浏览

java - 如何使用 StAX XML 解析器捕获属性事件?

我尝试使用 StAX XML 解析器解析 XML 文件。它给了我START_ELEMENTEND_DOCUMENT事件,但没有ATTRIBUTE事件。如何ATTRIBUTE使用 StAX 解析器接收事件?

我的 XML:

我的 StAX XML 解析器:

0 投票
1 回答
1294 浏览

java - 如何配置 JAX-WS 使用的 XML 解析器的行为

我的目的是防止 XML 解析器引用外部实体,这些实体在请求的 XML 开头的 DOCTYPE 部分中定义,但我对能够更一般地配置 JAX-WS 运行时使用的 XML 解析器感兴趣。

浏览可用的 JAX-WS 文档(不正式、不完整、在许多方面“不”)我找不到向 JAX-WS 表达我的配置要求的方法。那太好了,因为我不必处理下面的东西。

用螺丝刀卡住齿轮表明它使用了 StAX。这意味着我可以使用javax.xml.stream.XMLInputFactory它的setProperty(String, Object)方法来配置它,但是我需要 JAX-WS 使用的特定XMLInputFactory 实例来完成它。在 JVM 启动时设置系统属性并不能解决问题;需要在 JAX-WS 使用的实例上设置属性。

因此,要么有一些我不知道的配置 JAX-WS 的 XML 解析器的方法,要么我必须深入研究 JAX-WS 的内部结构,以某种方式获取解析器并直接配置它。后者会很蹩脚。

编辑:我指的是 Sun / Oracle JDK 中存在的标准 JAX-WS 实现。我正在使用 Java 1.6.0 Update 24。我想这一定是 RI。

0 投票
0 回答
774 浏览

classloader - Geronimo StAX 找不到 Woodstox 实施

使用 ant,我试图调用一个自定义任务,其中我试图使用 Axis2 调用 Web 服务。我通过父 jar 中的 Class-Path 清单标头提供所有 jar。geronimo-stax-api_1.0_spec-1.0.1.jar 和 wstx-asl-3.2.4.jar 都是在 Class-Path 上定义的。StAX api(来自 geronimo-stax-api_1.0_spec-1.0.1.jar)正在尝试使用 com.ctc.wstx.stax.WstxInputFactory(来自 wstx-asl-3.2.4.jar)。我得到 Classloader 找不到类。这似乎是一个类加载器问题,但我找不到任何问题。奇怪的是,如果我将 wstx-asl-3.2.4.jar 放在我的系统类路径中,它将被定位。但是 Sun/Oracle 的 jar 规范表明 Class-Path 和系统类路径功能相同,使用相同的系统类加载器。顺便说一句,如您所见,有些罐子是 osgi 捆绑包,我不确定这会导致任何问题。

堆栈跟踪如下所示:

0 投票
6 回答
48654 浏览

java - 我什么时候应该选择 SAX 而不是 StAX?

流式 xml 解析器(如 SAX 和 StAX)比构建树结构的解析器(如 DOM 解析器)更快且内存效率更高。SAX 是一个推送解析器,这意味着它是观察者模式(也称为侦听器模式)的一个实例。SAX 首先出现,但随后出现了 StAX - 一个拉式解析器,这意味着它基本上像迭代器一样工作。

您可以找到为什么在任何地方都更喜欢 StAX 而不是 SAX 的原因,但它通常归结为:“它更易于使用”。

在有关 JAXP 的 Java 教程中,StAX 模糊地表示为 DOM 和 SAX 之间的中间:“它比 SAX 更容易,比 DOM 更高效”。但是,我从未发现任何迹象表明 StAX 会比 SAX 更慢或内存效率更低。

这一切都让我想知道:有什么理由选择 SAX 而不是 StAX?

0 投票
1 回答
4697 浏览

xml - Spring Batch Stax XML读取作业在输入不足时不会结束

我正在使用 Spring Batch 设置将处理可能非常大的 XML 文件的作业。我想我已经正确设置了它,但是在运行时我发现作业运行,处理它的输入,然后只是挂在执行状态(我可以通过查看 JobRepository 中的 JobExecution 状态来确认)。

我已经多次阅读 Batch 文档,但没有看到任何明显的“输入不足时停止作业”配置。

这是我的应用程序上下文的相关部分:

万一这很重要,“StuffWriter”只是一个记录将要写入的项目的类。

如果我错过了与 Batch 和/或 Stax 相关的一些重要细微差别,请告诉我。

0 投票
1 回答
1356 浏览

xml - 如何用 StAX 写空元素?

我正在使用 StAX 来编写 XML 文档,但我找不到如何编写空元素 XML。我想写<element/>而不是<element></element>.