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