Java 如何使用Transformer在XML中取消显示字符串?
我有一个函数,它将XML文档作为参数并将其写入文件。它包含一些文本形式的元素&some text:text,但在输出文件中它是作为一些文本&;一些文本:文本文本,但我不希望在写入文件时转义字符串 功能是Java 如何使用Transformer在XML中取消显示字符串?,java,xml,Java,Xml,我有一个函数,它将XML文档作为参数并将其写入文件。它包含一些文本形式的元素&some text:text,但在输出文件中它是作为一些文本&;一些文本:文本文本,但我不希望在写入文件时转义字符串 功能是 public static void function(Document doc, String fileUri, String randomId){ DOMSource source = new DOMSource(doc,ApplicationConstants.ENC_UTF
public static void function(Document doc, String fileUri, String randomId){
DOMSource source = new DOMSource(doc,ApplicationConstants.ENC_UTF_8);
FileWriterWithEncoding writer = null;
try {
File file = new File(fileUri+File.separator+randomId+".xml");
if (!new File(fileUri).exists()){
new File(fileUri).mkdirs();
}
writer = new FileWriterWithEncoding(new File(file.toString()),ApplicationConstants.ENC_UTF_8);
StreamResult result = new StreamResult(writer);
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = null;
transformer = transformerFactory.newTransformer();
transformer.setParameter(OutputKeys.INDENT, "yes");
transformer.transform(source, result);
writer.close();
transformer.clearParameters();
}catch (IOException | TransformerException e) {
log.error("convert Exception is :"+ e);
}
}
XML“&”中有五个转义字符。根据XML语法,它们必须在XML中的某些位置转义,请参见以下问题:
例如,为了避免逃逸,您不能做太多的事情&或者我不能修改XML的内容。您是否意识到,如果您能够按照要求执行操作,您的输出将不再是XML,也不再能够被XML解析器读回?这就是你想要的吗?如果是这样,为什么?我只希望元素的文本不被替换