问题标签 [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 回答
285 浏览

xml - 如何使用 StAX 在 xml 中进行加密/解密?

我使用 StAX 的原因之一是因为它在处理大型 xml 文件时内存消耗低。

我被要求加密整个 xml 文件,然后再解密。

在不对现有代码进行重大更改的情况下,我能想出的更简单的解决方案是仅加密内容。

但是人们仍然可以理解数据的结构。如果我想加密 xml 中的所有内容怎么办?任何解决方案?请记住,我正在处理大型 xml 文件:)

谢谢。

0 投票
2 回答
47136 浏览

java - 哪个 .jar 文件有 javax.xml.stream.*?

我在运行 Java 1.5 的 Mac 上再次遇到问题.... 我在哪里可以获得具有 javax.xml.stream.XMLInputFactory 的 .jar 文件?我想使用 StAX,但不知道如何正确设置它。


我似乎无法获得此设置。我现在已经下载了 jaxp-api.jar、jsr173_1.0_api.jar、sjsxp.jar、stax-api-1.0.1.jar、stax2-api-3.0.1.jar 和 woodstox-core-asl-4.0。 5.罐子;将它们全部放入我的 java/lib/ext 目录,确保它们在我的 eclipse 构建路径上,删除 Mac com.apple.quarantine 扩展属性,对 .jar 文件执行“chmod a+x”,然后我仍然得到以下错误尝试import javax.xml.stream.XMLInputFactory;

访问限制:由于所需库 /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/ext/jsr173_1.0_api.jar 的限制,无法访问类型 XMLInputFactory

我需要做什么?

0 投票
1 回答
3264 浏览

java - StAX - 如何将 XMLInputFactory.IS_VALIDATING 设置为 true?

这是我第一次使用 StAX 解析 XML 文档(仍处于学习阶段)。在使用 XMLStreamReader 解析 XML 文档并使用 XMLStreamWriter 生成文档副本的过程中,我遇到了以下警告,该警告表示为 writer 输出中的注释:

我了解警告的原因,但我希望它成为错误而不是默默地成为警告,所以我尝试将 XMLInputFactory.IS_VALIDATING 设置为 true:

但上面对我抛出了一个例外:

线程“主”java.lang.IllegalArgumentException 中的异常:com.sun.org.apache.xerces.internal.impl.PropertyManager.setProperty(PropertyManager.java:150) 不支持 isValidating 的真值在 com.sun.xml。 internal.stream.XMLInputFactoryImpl.setProperty(XMLInputFactoryImpl.java:257) at com.test.test2.helper.SgmlDocumentParser.parse(SgmlDocumentParser.java:83) at com.test.test2.helper.Test.main(Test.java: 66)

那么我的方法有什么问题呢?

谢谢!

0 投票
4 回答
1797 浏览

c++ - C/C++ 的 StAX 编写器实现

除了 libxml2,还有其他 C/C++ 的 STaX Writer 实现吗?

0 投票
3 回答
3769 浏览

multithreading - XSLT 处理器可以是多线程的吗?

我正在寻找解决 XSLT 处理问题的方法。

是否可以使用并行处理来加速 XSLT 处理器?还是 XSLT 处理器本质上是串行的?

我的预感是 XML 可以被划分为可以由不同线程处理的块,但是由于我并没有真正找到任何关于这种壮举的文档,所以我对此表示怀疑。是否可以使用 StAX 同时分块 XML?

似乎大多数 XSLT 处理器都是用 Java 或 C/C++ 实现的,但我真的没有目标语言。我只想知道多线程 XSLT 处理器是否可行。

你怎么认为?

0 投票
4 回答
12716 浏览

java - 是否有可以在不解析字符实体的情况下解析文档的 Java XML API?

我有需要解析包含字符实体的 XML 的程序。程序本身不需要解决它们,它们的列表很大并且会改变,所以如果可以的话,我想避免对这些实体的显式支持。

这是一个简单的例子:

是否有可以在不解析(非标准)字符实体的情况下成功解析文档的 Java XML API?理想情况下,它将它们转换为可以特殊处理的特殊事件或对象,但我会选择一个可以默默压制它们的选项。

答案和例子:

Skaffman 给了我答案:使用IS_REPLACING_ENTITY_REFERENCES设置为 false 的 StAX 解析器。

这是我准备尝试的代码:

对于上面的 XML,它将打印“ Entity Reference: something”。

0 投票
2 回答
1329 浏览

java - 如何防止一对 XMLEvent[Reader|Writer] 将空标签拆分为开始+结束标签?

我对以下代码的工作方式有一个理解问题:

writer.add([some reader]) 方法从 reader 读取所有事件并随后写入它们。可悲的是,发生了以下情况:

输入

变成

我知道,从 XML 的角度来看,这些是平等的树,但对人类来说不是 ;)

我该怎么做才能获得相同的输出?

仅供参考:稍后我需要一个 XMLEvent[Reader|Writer] 对来过滤“XML 事件”。

0 投票
2 回答
4293 浏览

java - 使用 JAXB 和 Stax 来编组 XML 文档的验证

我创建了一个 XML 模式 (foo.xsd) 并用于xjc为 JAXB 创建绑定类。假设根元素是collection并且我正在编写 Ndocument个对象,它们是复杂类型。

因为我打算写出大型 XML 文件,所以我使用 Stax 来写出collection根元素,并使用 JAXB 来编组文档子树,使用Marshaller.marshal(JAXBElement, XMLEventWriter). 这是jaxb 的非官方用户指南推荐的方法。

我的问题是,如何在编组时验证 XML?如果我将模式绑定到 JAXB 编组器(Marshaller.setSchema()使用或类似collectionStax XMLEventWriter东西。

对这种整体方法的任何评论都会有所帮助。基本上我希望能够用于JAXB编组和解组大型 XML 文档而不会耗尽内存,所以如果有更好的方法来做到这一点,请告诉我。

0 投票
1 回答
944 浏览

java - 税务处理说明

我正在尝试使用 StAX 解析这样的处理指令:

StAX 似乎没有将其识别为处理指令。它发现这些事件:

整个事情不应该被视为单个 ProcessingInstruction 事件吗?

0 投票
6 回答
9221 浏览

java - XMLStreamReader 和一个真实的流

更新Java 社区中没有现成的 XML 解析器可以进行 NIO 和 XML 解析。这是我找到的最接近的,但不完整:http ://wiki.fasterxml.com/AaltoHome

我有以下代码:

问题是,为什么方法 #createXMLStreamReader() 期望在输入流中有整个 XML 文档?如果它似乎无法处理一部分 XML 数据,为什么还要将其称为“流阅读器”?例如,如果我喂食:

对它来说,它会告诉我我错过了结束标签。甚至在我开始迭代流阅读器本身之前。我怀疑我只是不知道如何正确使用 XMLStreamReader。我应该能够为它提供数据,对吧?我需要它,因为我正在处理来自网络套接字的 XML 流,并且不想将整个源文本加载到内存中。

谢谢你的帮助,尤里。