问题标签 [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.

0 投票
0 回答
105 浏览

java - 如何从xmlstreamreader中的同一级别获取所有同名元素?

我有一个 xml 文件,如下所示:

为了解析它,我编写了如下代码:

我的问题是这甚至匹配 c 元素下的子元素 b,我只想获取元素的直接子元素 b,并且我想将它传递给对其执行功能的方法。谁能指导我如何实现它?

0 投票
1 回答
3789 浏览

java - XMLStreamReader 如何处理相同类型的嵌套元素

我正在使用 XMLStreamReader 并解析以下 XML:

我正在构建我的 XMLStreamReader:

不幸的是,当我使用 到达第一个结束元素标记时reader.next();,出现以下异常:

有没有办法覆盖 XMLStreamReader 的默认行为来解决这个问题?

编辑

这是我正在使用的代码:

0 投票
3 回答
803 浏览

xml - 在 java 中,只为几个标签解析 xml 或从巨大的 xml(大小 5gb)中读取来自单个指定标签的数据

我如何从一个巨大的 xml 文件(比如 5gb)中读取单个标签,我不需要来自 xml 的其他数据。Stax 方法是正确的吗?考虑示例 xml

提前致谢

0 投票
0 回答
1792 浏览

java - Skip invalid xml element with XmlStreamReader

I want to parse my xml:

In this XML, I need to skip an invalid element <ABC,XYZ.AMOUNT>26865</ABC,XYZ.AMOUNT>. I'm using XMLStreamReader class for parsing the xml.

My parser class:

But while parsing I'm getting an exception:

Can anyone help me to fix this issue ?

0 投票
1 回答
443 浏览

java - XmlStreamReader 在开始时表现随机

我希望 XmlStreamReader 从文档的开头开始(显然),然后在我调用 next() 时跳转到 XML 文档的根。然而,可怕的是,我看到它跳转到第一个标签,里面有文本,总是省略根,经常(???)第二个标签。

文档如下所示:

我会发疯吗,我的日食会发疯还是我看不到明显的东西?该程序似乎总是省略“objektliste”并且通常首先跳转到“thumbnail”,尽管在以前的调试会话中它似乎表现得更加随机。帮助!!!

顺便说一句,代码非常简单:

0 投票
3 回答
9194 浏览

java - XMLStreamReader 和 XMLEventReader 有什么区别?

我在网上冲浪。我发现XMLStreamReader用于解析 XML 的光标样式 APIXMLEventReader用于解析 XML 的迭代器样式 API。谁能详细告诉我?

0 投票
1 回答
545 浏览

java - 如何使用 XMLStreamReader 获取大文件的进度

我正在使用以下代码使用 XMLStreamReader 在 hadoop RecordReader 中读取大型 xml 文件(以 GB 为单位)

我的问题是如何使用 XMLStreamReader 获取文件的读取进度,因为它不提供任何开始或结束位置来计算进度百分比。我参考了如何在 StAX 中跟踪大文件的解析进度?,但不能用户 filterReader。请在这里帮助我。

0 投票
3 回答
891 浏览

xml - 从大文件(60GB)中获取 XML 结构

我需要获取一个巨大的 XML 文件(大约 60 GB)的结构或方案。获得所有属性的最佳方法是什么?

0 投票
2 回答
2441 浏览

java - 从 XmlStreamReader 解组 JAXB 会导致空对象

我创建了一个用于解组 XML 消息的 Java 过程,其中可以提供“startTag”以在消息中的特定元素处开始解组。我用一个XMLStreamReader来做这个选择。

下面是我遇到的问题的完整可复制粘贴演示。'xml' 消息是我需要使用的。不幸的是,它null在结果中产生了一个汽车对象,而“xmlStripped”消息产生了一个完全未编组的结果。

我将问题隔离到元素中的xmlns="http://www.example.com/type"命名空间。<response>当我删除它时,“xml”被正确解组。

无法控制XML。'xml' 变量是我需要使用的。我对 XSD/几乎没有控制权ObjectFactory,所以我的第一步是在解组过程中寻找解决方案。

如果您知道失败的原因以及您是否有解决方案,请告诉我。谢谢!

0 投票
1 回答
1237 浏览

null - 防止使用 JAXB 从 XSD 生成空的 @XmlType 注释

让我从我的问题归结为什么开始。我正在使用 maven-jaxb2-plugin 从 XSD 模式生成一个名为 MyServiceResponse 的类。生成的 MyServiceResponse 类包含@XmlType具有空名称属性的注释。

我想生成具有填充name属性或@XmlType完全没有注释的 MyServiceResponse 。这是否可以在 XJB 文件中使用自定义绑定或以其他方式?无论如何,如果可能的话,我想在生成过程中解决这个问题,因为每次运行 Maven 插件时,对 MyserviceResponse 的手动编辑都会被覆盖。

下面是一个演示我的实际问题的 Java 类。该类使用 XmlStreamReader 和 JAXB 从消息中的任何元素开始解组 XML 消息。'xml' 变量没有完全解组。'汽车' 属性保持不变null。这是因为xmlns="http://www.example.com/type"命名空间被 XmlStreamReader 复制到 Body 元素,而不是 Car 子元素。不知何故,JAXB 无法看到我希望它继续解组 Car 元素。(这里有个大问号)

我已经知道一些修复,但它们涉及手动更改 XSD 或 MyServiceResponse 类。

首先,我可以elementFormDefault="qualified"在 XSD 上进行设置,从中生成 MyServiceResponse 类、ObjectFactory 和 package-info.java。这可行,但它也会导致我的请求 XML 消息被编组为合格的名称空间,并且我将消息发送到的服务不接受这一点。此外,它需要对 XSD 进行更改,如果可能的话,我希望避免这样做。

其次,在 Body 和 Car @XmlType 注释上设置名称有效:@XmlType(name = "Body", propOrder = {})@XmlType(name = "Car", propOrder = {}). 但它涉及手动编辑 MyServiceResponse。

第三,删除@XmlType(name = "", propOrder = {})注释是可行的,但它也涉及到手动编辑 MyServiceResponse。

这是一个可复制粘贴的演示类:

我的 XSD:

添加:

这是开始解组时 XmlStreamReader 中的 XML。JAXB 解组 ServiceResponse 元素 Body,但不解组 Car。