我正在尝试使用 XMLSerializer 将文本写入 XML 文件。 text(String) 函数自动转义字符。
将文本添加到 xml 文件时是否可以不转义文本?
如果不可能,您能否推荐一个简单的解决方法,而无需重写我的所有 XML 创建代码?
谢谢
最佳答案
您可能同时找到了自己的解决方案,但这里有一个可能的解决方案。我没有使用序列化程序,而是直接调用底层 StringWriter 来插入原始文本(在我的例子中,这是格式良好的 xml,因此我想避免转义 <,> 标记)。请注意,序列化器刷新对于获得正确的顺序非常重要。
XmlSerializer serializer = Xml.newSerializer();
StringWriter writer = new StringWriter();
try {
serializer.setOutput(writer);
serializer.startDocument("UTF-8", true);
serializer.startTag(namespace, "destination");
serializer.attribute(namespace, "id", String.valueOf(destinationId));
serializer.flush();
writer.write(DestinationContent);
serializer.endTag(namespace, "destination");
...
} catch (Exception e) {
throw new RuntimeException(e);
}
关于android - 使用 XMLSerializer 将文本写入 XML,无需转义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6030728/