- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我希望 XmlStreamReader 从文档的开头启动(显然),然后当我对其调用 next() 时跳转到 XML 文档的根目录。然而,可怕的是,我看到它跳转到第一个带有文本的标签,并且总是忽略根,并且经常(???)第二个标签。
文档如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<objektliste xmlns="http://www.pixelboxx.de/ns/erco/translations/1.0">
<uebersetzungen key="122671" attribute="7505">
<thumbnail>abrakadabra.jpg</thumbnail>
<text sprache="1031">We like the abla abla abla</text>
<text sprache="2057">We like the spoonBlaBlaBla[en]</text>
<text sprache="1036">Wicher</text>
</uebersetzungen>
<uebersetzungen key="122679" attribute="7505">
<thumbnail>122679.jpg</thumbnail>
<text sprache="1031">Kiefer</text>
<text sprache="1036">franek</text>
</uebersetzungen>
</objektliste>
我疯了吗?我的 eclipse 是否疯了,还是我没有看到明显的东西?该程序似乎总是省略“objektliste”,并且通常首先跳转到“缩略图”,尽管在之前的调试 session 中它似乎表现得更加随机。帮助!!!
顺便说一句,代码非常简单:
XMLStreamReader streamReader = factory.createXMLStreamReader( is);
while( streamReader.hasNext())
{
//event type 7 here, everything seems to be ok.
streamReader.next();
//bang! armaggeddon - skips the root, jumps to thumbnail.
最佳答案
对 streamReader.next()
的调用是基于事件的。
The next() method causes the reader to read the next parse event. The next() method returns an integer which identifies the type of event just read.
The event type can be determined using getEventType().
我认为您可能遇到了结束元素事件出现的问题,而您没有预料到会出现这种情况。
使用以下代码,我看到正确的订单正在按预期进行处理:
XMLInputFactory factory = XMLInputFactory.newInstance();
XMLStreamReader streamReader = factory.createXMLStreamReader(is);
while( streamReader.hasNext()) {
int eventType = streamReader.next();
switch (eventType) {
case XMLStreamReader.START_ELEMENT:
String elementName = streamReader.getLocalName();
System.out.println("Element: " + elementName);
break;
case XMLStreamReader.END_ELEMENT:
break;
}
}
这会产生预期的输出:
Element: objektliste
Element: uebersetzungen
Element: thumbnail
Element: text
Element: text
Element: text
Element: uebersetzungen
Element: thumbnail
Element: text
Element: text
关于java - XmlStreamReader 在开始时行为随机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36319622/
像这样遍历 XML 文档时 while(streamReader.hasNext()){ streamReader.next(); if(streamReader.getEventTy
我正在使用 XMLStreamReader 读取 XML 文件并查找特定元素,然后更新相应的值。 我的问题是有没有办法可以打印每个元素,包括文档的开头,例如: 每次我执行reader.next()?
我正在使用 XMLStreamReader 并解析以下 XML: level0 level1
正如我在 Reading escape characters with XMLStreamReader 中看到的那样,这个问题似乎以前曾出现过。 但我在这里看到的问题略有不同。 我正在读取一个相当大的
我正在使用 XMLStreamReader 解析 XML 。在 标签有一些从数据库加载的数据(WebRowSet对象)。问题是这个标签的内容非常长(假设有几百KB——数据以Base64编码),但是in
我希望 XmlStreamReader 从文档的开头启动(显然),然后当我对其调用 next() 时跳转到 XML 文档的根目录。然而,可怕的是,我看到它跳转到第一个带有文本的标签,并且总是忽略根,并
我正在使用 javax.xml 中的 XMLStreamReader 接口(interface)来解析 XML 文件。该文件包含巨大的数据量和几个 KB 的单个文本节点。 验证和读取通常效果很好,但我
我有一个 XMLStreamReader,当我仔细阅读 xml 时,它会跳过一个元素并转到下一个元素。我想按顺序阅读所有内容,因此这对我来说非常烦人并且破坏了我的解析。 这是 XML: Cha
更新 Java 社区中没有现成的 XML 解析器可以进行 NIO 和 XML 解析。这是我找到的最接近的,但不完整:http://wiki.fasterxml.com/AaltoHome 我有以下代码
你好我想知道如何将XML标签形式的字符串内容转换成XMLStreamReader 最佳答案 您可以使用 XMLInputFactory.createXMLStreamReader , 传入 Strin
我的 XML 中有一些来自 Unicode 扩展 B 中文/日文/韩文的字符: 𠀀𠀁𠀂𠀃𠀄𪛔𪛕𪛖 但是当我使用 streamReader.getText() 时它返回: ࠀ 有谁知道J
我有以下 XML 代码 medium weak 我使用以下代
我有一些正在阅读的 xml。 website Tommy Jay
如果我有一个 XML 元素,例如: this is a title 使用 XMLStreamReader.getElementText() 很容易获取文本。但是,如果我遇到这样的元素,我无法弄清楚如何
假设我们有以下 XML "Hi" 我使用 XMLStreamReader 加载此 XML 并使用读取器对象进行解析。当我使用阅读器的 getText() 打印解析时遇到的字
我正在使用下面的代码使用 XMLStreamReader 读取 hadoop RecordReader 中的大型 xml 文件(以 GB 为单位) public class RecordReader
我在XMLStreamReader中找不到任何peek或unread功能文档。例如,为了解析 HTML 列表中的子元素列表,获得至少一个标记前瞻的首选方法是什么? 当我使用 ul 和
我需要连接一个接收 StAX XMLStreamReader 作为输入的 API,并过滤提供的流(将某个属性的值从 true 更改为 false)。 查看了 StreamReaderDelegate,
我同时运行了 Python 脚本和 Java 测试。它们都试图做完全相同的事情——打开一个套接字,接收一个永无止境的 XML 流,并在接收到 XML 时对其进行解析。 Python 脚本使用 Expa
我正在使用 XMLStreamReader 读取 xml 文件。 该文件包含以下形式的转义字符:ü。 在我看来,两个转义字符应该代表字符“ü”(UTF-8 编码?) 但 xml 流读取器创建以下字符
我是一名优秀的程序员,十分优秀!