我正在尝试使用XMLSerializer将文本写入XML文件。 text(String)-function自动转义字符。
将文本添加到xml-File时是否可以不转义文本?
如果不可能,您是否可以推荐一种简单的解决方法,而无需重写我的所有XML创建代码?
由于
答案 0 :(得分:5)
您可能会在此期间找到自己的解决方案,但这是一个可能的解决方案。我直接调用底层的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);
}