使用无效字符解析XML

时间:2017-03-06 15:36:48

标签: java xml-parsing

我有一个XML文件,其中包含一些无效字符(XML 1.0中不支持该字符)。 我想解析文件,但我得到XML包含无效字符的异常。 有没有办法用无效字符解析XML。或者跳过包含无效字符的节点属性。

2 个答案:

答案 0 :(得分:0)

可能的解决方法是将其作为字符串加载并用有效字符或标记替换无效字符,以便您知道它在那里。然后正常解析。

答案 1 :(得分:0)

所以你的意思是有人物&,< ,> (或“属性”)?您可以编写自己的InputStream装饰器并将这些“坏”字符转换为转义字符。您的InputStream将获取此无效数据并返回下一个处理阶段的有效数据:

InputStream yourFancyIllegalCharConverter = new YourFancyIllegalCharConverter( realInputStream );
XMLInputFactory factory = XMLInputFactory.newInstance();
XMLStreamReader parser = factory.createXMLStreamReader( yourFancyIllegalCharConverter );