[英]Java XMLStreamReader.getText() chokes on XML encoded characters?
我试图使用Java的XMLStreamReader解析一个巨大的(> 1GB)xml文件。 我使用getText()方法来提取节点的内容。 我拥有的xml文件编码为ISO-8859-1,有些字符具有特殊编码,例如&
编码为&
在文件中。
因此,如果文件包含,例如:
<person>Jack</person>
<person>Jill</person>
<persons>Jack & Jill</persons>
我尝试使用getText()获取每个节点的内容,第三个节点只返回Jack
。 任何时候a &xxx;
遇到字符,解析或返回后没有字符(在同一节点中)。
问题出在哪儿? xml文件是否正确编码? 我正确使用Java解析器吗?
谢谢!
我怀疑问题在于解析器已将第三人称元素的内容拆分为多个处理事件。 (此行为next()
被记录在案 。)调用getText()
只给你当前事件的文本。
请尝试使用getElementText()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.