使用XMLSerializer将文本写入XML而不转义它

时间:2011-05-17 12:24:51

标签: android xml xml-serialization xmlserializer

我正在尝试使用XMLSerializer将文本写入XML文件。 text(String)-function自动转义字符。

将文本添加到xml-File时是否可以不转义文本?

如果不可能,您是否可以推荐一种简单的解决方法,而无需重写我的所有XML创建代码?

由于

1 个答案:

答案 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);
}