我正在向 XML 文件添加一个新寄存器。该文件有一个特殊字符,例如’;和“
”。当我生成 XML 文件时,transformerFactory 将其更改为 ' 和 "。
这是我的代码:
Document document = documentBuilder.parse("Input.xml");
//Here I add the nodes in document
DOMSource source = new DOMSource(document);
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
StreamResult result = new StreamResult("Result.xml");
transformer.transform(source, result);
我尝试在 Transfomer 中添加此行,但没有成功:
transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
示例:
输入:
<Users>
<User Name="Daniel">
<Option Name="Salt">jJ='\Cl%MST"U.ivm/FwI+TJC=IalOJg2z8\L}b;<=OZ}qz`|_|[`y~)J,pEbWx_</Option>
</User>
</Users>
输出:我使用其他选项 Salt 添加了 Tom,当我生成 XMl Java 时,我将这个字符 ’ 更改为以及 Daniel 和其他用户的“
:
<Users>
<User Name="Daniel">
<Option Name="Salt">jJ='\Cl%MST"U.ivm/FwI+TJC=IalOJg2z8\L}b;<=OZ}qz`|_|[`y~)J,pEbWx_</Option>
</User>
<User Name="Tom">
<Option Name="Salt">salt1234</Option>
</User>
</Users>
我想要什么:
<Users>
<User Name="Daniel">
//Here there are &apos and " and in output no
<Option Name="Salt">jJ='\Cl%MST"U.ivm/FwI+TJC=IalOJg2z8\L}b;<=OZ}qz`|_|[`y~)J,pEbWx_</Option>
</User>
<User Name="Tom">
<Option Name="Salt">salt1234</Option>
</User>
</Users>
当我生成新的 XML 文件时如何转义这些特殊字符?
谢谢!
最佳答案
如果您希望输出中包含文字 '
,那么您只需转义 &
即可。输入应为'
。
关于Java XML - 当我生成 XML 文件时,Java 将 me ' and "更改为 ' and ",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44965425/