XMLStreamException 因为 xml 中的 &
XMLStreamException because of & in xml
我想将 xml 文件解析为 java 对象。
我使用 XMLInputFactory 库来执行此操作。
XMLInputFactory inputFactory = XMLInputFactory.newInstance();
InputStream in = new FileInputStream(filepath);
eventReader = inputFactory.createXMLEventReader(in);
如果我的文本中有“&”,我该怎么办,例如:<example>I like programming & football</example>
我总是收到一条错误消息:
javax.xml.stream.XMLStreamException: ParseError at [row,col]:[3608,52]
Message: The entity name must immediately follow the '&' in the entity reference.
at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(Unknown Source)
我知道错误发生的原因。解析器想寻找 &, &.., ... 但我不知道如何转义错误。
谢谢。
XML 文件中未转义(如 &
)符号的出现违反了 XML 文件必须如何编写的基本规则。 (<
和 >
是其他明显的例子。)
任何 XML 生产者都应确保遵守 XML 的 W3C 规范。
如果你必须修补一个写得不好的文件并且如果 & 根本不用于引入 HTML 实体你可以尝试通过 sed 或类似的补丁效用。
我想将 xml 文件解析为 java 对象。
我使用 XMLInputFactory 库来执行此操作。
XMLInputFactory inputFactory = XMLInputFactory.newInstance();
InputStream in = new FileInputStream(filepath);
eventReader = inputFactory.createXMLEventReader(in);
如果我的文本中有“&”,我该怎么办,例如:<example>I like programming & football</example>
我总是收到一条错误消息:
javax.xml.stream.XMLStreamException: ParseError at [row,col]:[3608,52] Message: The entity name must immediately follow the '&' in the entity reference. at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(Unknown Source)
我知道错误发生的原因。解析器想寻找 &, &.., ... 但我不知道如何转义错误。
谢谢。
XML 文件中未转义(如 &
)符号的出现违反了 XML 文件必须如何编写的基本规则。 (<
和 >
是其他明显的例子。)
任何 XML 生产者都应确保遵守 XML 的 W3C 规范。
如果你必须修补一个写得不好的文件并且如果 & 根本不用于引入 HTML 实体你可以尝试通过 sed 或类似的补丁效用。