Java 在xml解析期间不转换&;至&;amp?解决这个问题的最佳方案是什么?

Java 在xml解析期间不转换&;至&;amp?解决这个问题的最佳方案是什么?,java,xml,Java,Xml,我希望我的回答是&only而不是&以xml格式。我知道它是自动转换的控制字符,但它可能保持原样。解决方案是什么?您应该将控制字符保留在CDATA中。 请参阅此处-在什么XML解析过程中?解析器应该看到&并传递未转义字符。反之亦然。&在XML中不允许单独使用;使用&取而代之。如果&出现在CDATA之外,而不是作为字符实体的一部分,例如&,等,则数据不是XML.public字符串xmlcata(对象源,类类型){Document doc=null;DocumentBuilde

我希望我的回答是&only而不是
&以xml格式。我知道它是自动转换的控制字符,但它可能保持原样。解决方案是什么?

您应该将控制字符保留在CDATA中。
请参阅此处-

在什么XML解析过程中?解析器应该看到
&并传递未转义字符。反之亦然。
&
在XML中不允许单独使用;使用
&取而代之。如果
&
出现在CDATA之外,而不是作为字符实体的一部分,例如
&
等,则数据不是XML.public字符串xmlcata(对象源,类类型){Document doc=null;DocumentBuilderFactory=DocumentBuilderFactory.newInstance();factory.setValidating(true);factory.setExpandEntityReferences(false);尝试{doc=factory.newDocumentBuilder().newDocument();}catch(parserConfiguration异常e){//TODO自动生成的catch块e.printStackTrace();}返回doc.createCDATASection((字符串)源)。getWholeText();}我尝试了上面的代码,但它不起作用。请告诉我这有什么问题,java中CDATA的正确语法是什么?请按照这里给出的示例进行操作-