问题标签 [xmlstreamreader]
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 - 使用 xmlstream 阅读器时出错
我xmlstreamreader
在 java 中使用来读取属性值和其他数据。这是 xml 字符串:
然后我尝试读取属性 ID、IssueInstant 和元素 Issuer。在上面的字符串中,所有 3 都突出显示(实际上在 ** 之间)。我使用了以下代码:
但我得到以下输出:
问题是什么?
java - Java XMLStreamReader 给出了不需要的字符串
我有一些正在阅读的 xml。
无论如何,当我使用 xmlStreamReader 阅读它时,如下所示
这一切顺利!但是,我遇到的问题是,在读取标签后,我得到的下一个事件是事件 XMLStreamConstants.CHARACHTERS 并报告我有属性(“\n”),它是标签和下一个标签之间的空间。我怎样才能删除这个?我希望将下一个事件作为 XMLStreamConstants.START_ELEMENT。我知道我可以将我的 XML 全部放在一行中,但我喜欢在输入时留出空隙,以便我可以看到结构。我还有一个要验证的xsd,这可以成功验证xml,我可以在xsd中做些什么来删除空格?
谢谢
java - 如何在 xsd 验证失败的情况下获取无效 xml 文件的元素
我目前正在使用我的 XSD 来验证我的 xml。这部分工作正常我的问题是我想获得无效的标签/值的元素。
我有一个不切实际的想法是在消息中查找单词“type”或“end-tag”并获取它之后的值,但是我知道这不是一个好习惯!我觉得这很令人沮丧,因为我可以看到无效但无法获取的标签!
这是我想要的元素的一些示例
java - Java XMLStreamReader.getText() 阻塞 XML 编码字符?
我正在尝试使用 Java 的 XMLStreamReader 解析一个巨大的(> 1GB)xml 文件。我使用 getText() 方法来拉取节点的内容。我拥有的 xml 文件被编码为 ISO-8859-1,并且某些字符具有特殊编码,例如在文件&
中编码。&
因此,如果文件包含,例如:
我尝试使用 getText() 获取每个节点的内容,第三个节点只返回Jack
. 任何时候&xxx;
遇到一个字符,它后面的字符(在同一个节点中)都不会被解析或返回。
哪里有问题?xml 文件编码是否正确?我是否正确使用了 Java 解析器?
谢谢!
java - 从 XMLStreamReader 获取位置
我正在研究将用于身份验证和路由的流式 SOAP 代理。代理必须从 SOAP 标头读取和验证凭据和路由信息。它还必须使用目标服务使用的其他元数据来丰富 SOAP 标头。
我首先使用 StAX(XMLStreamReader 和 XMLStreamWriter)完成了一个快速的概念验证。它似乎可以正常工作,因此概念得到了证明,但性能并不是我所期望的。在分析原型时,我注意到应用程序在字符编码/解码上花费了大量的 CPU 时间(30-80%)
我认为解决方案很简单:
- 将 XMLStreamReader 从 InputStream 读取的数据存储到缓冲区
- 获取 SOAP 标头结束标记之前的偏移量 (getLocation())
- 从缓冲区发送数据,直到达到偏移量
- 发送附加数据
- 从缓冲区发送剩余数据
- 从 InputStream 发送数据
这将避免所有不必要的编码/解码。然而令我惊讶的是,我发现标准实现不支持 getLocation() - 它返回 -1。
过时的部分 - 以下内容实际上不起作用,因为 XMLStreamReader 在读取一个字节时会消耗大量内存。“我注意到我可以从 InputStream 获得偏移量,如果我编写一个 InputStreamReader 一次返回一个字节并跟踪读取的字节数。但是这感觉不是正确的解决方案 - 荒谬的读取调用数量很可能比额外的解码/编码造成更大的性能损失。”
如果编写自定义解析器是不可能的,我在这里有什么选择?是否有经过验证并支持 getLocation() 的符合标准的 XMLStreamReader 实现?
java - Java XMLStreamReader,当文本包含START_ELEMENT时如何获取元素文本
如果我有一个 XML 元素,例如:
使用 XMLStreamReader 很容易获得文本。getElementText()
. 但是,如果我遇到这样的元素,我无法弄清楚如何获取文本:
我什至不确定这是否是有效的 XML,但它似乎通过了我尝试过的 W3C 验证器。根据API docsgetElementText()
,如果您要在START_ELEMENT
内部遇到另一个事件,则无法使用来获取文本。那么……你能用什么?
java - StAX XML 两个必需标签之间的所有内容
开始使用 XMLStreamReader 学习 StAX,我遇到了一些问题。如何将标签之间的所有内容作为文本获取?我的意思是,我知道所需标签的名称,当我找到它时,我必须转到关闭标签,并且我在它们之间找到的所有内容都必须附加到某个字符串。例如,我们有类似的东西
所以,我需要得到我的字符串
我怎么才能得到它?也许,我必须在源xml中找到所需块的开始和结束偏移量,并在解析后给出子字符串?
java - XMLStreamReader 编码
我的 XML 中有一些来自 Unicode 扩展 B 中文/日文/韩文的字符:
但是当我使用 streamReader.getText() 它返回:
有谁知道 Java 的 XMLStreamReader 的 unicode 字符编码方案是否可以更改?
它适用于常见的东亚字符,但不适用于 Unicode 扩展 B 中的字符。
java - 为什么 XMLStreamReader/StAXSource 会从 XML 中去除注释?
下面的代码(基于来自http://jax-ws.java.net/nonav/jax-ws-20-fcs/arch/com/sun/xml/ws/util/xml/StAXSource.html的示例代码)
产生以下结果:
即它去掉了xml 注释。如果我用 StreamSource 替换 StAXSource/XMLStreamReader,则保留注释。
有谁知道为什么 XMLStreamReader/StAXSource 组合将它们剥离出来,是否有任何方法可以防止它?测试是在没有第三方 jar 的 1.6 和 1.7 环境中完成的,因此 XMLStreamReader 成为
谢谢
c# - 例外:该卷不包含可识别的文件系统
我创建了一个反序列化 xml 文件的 .net 4.5 wpf 应用程序。奇怪的是,在其中一个部署的工作站中,我们得到了:
因为它是一个设置文件,只有在使用带有 ReadToEnd 的 StreamReader 完成文件加载后才能读取。
知道为什么会发生这种情况吗?可能是操作系统引发了这个并认为硬盘已损坏?