Jaxb解组xml,其中包含&<>符号

Sou*_*vik 6 java xml jaxb java-8

要使用JAXB我解析XML,我已经生成了所需的POJO,并且能够解析XML。但是,只要我的xml包含'&' '<>'迹象,它就会失败。按照规则,这需要更改为,'&amp'但是生成XML的3PP并不遵循该规则。现在,我该如何解析带有'& <>'标志的xml 。

注意-对于编组,我发现了许多答案,但无法进行编组。

环境-Java 8

XML范例:

<Customer Info> This is & Customer Info <Customer Info>
Run Code Online (Sandbox Code Playgroud)

任何帮助都会有所帮助

df7*_*899 1

JSoup被设计用来处理相当粗糙且现成的 HTML 解析,因此可以使用比普通 XML API(例如 JRE 附带的 Xerces 内置版本)更宽松的解析规则。

它可以将 XML 输出到适合在 JAXB 中使用的 W3C DOM:

    org.jsoup.nodes.Document soupDoc = Jsoup.parse(unescapedXml, "",
            Parser.xmlParser());
    org.w3c.dom.Document w3cDoc = new W3CDom().fromJsoup(soupDoc);

    JAXBContext jaxbContext = JAXBContext.newInstance(CustInfo.class);
    Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
    CustInfo custInfo = (CustInfo) jaxbUnmarshaller.unmarshal(w3cDoc);
Run Code Online (Sandbox Code Playgroud)

(令人烦恼的是 JSoup 和 W3C 都使用Document)。

这似乎可以很好地处理 XML 属性或正文中的任何一个'&' '<''>'其中的任何一个,尽管肯定存在缺少转义字符太多的组合。