如何在.Net XDocument中保留字符实体?

时间:2011-02-02 22:05:46

标签: character-encoding linq-to-xml escaping

我正在将一组服务移植到.Net 4.0,并且发现(令我沮丧的是)我正在创建并存储在XElement.Value()中的字符实体正在“恢复”到它们的原始字符将XDocument对象转换为HTTP响应的XML流时的值。

“转义”字符需要作为字符实体(例如®而不是®)出现在XML文档中,以保持与编写为仅允许非拉丁字符的字符实体的旧应用程序兼容。 / p>

有没有办法(不同的文档类型,或Encoding()方法,或者完全不同的东西)我可以配置XDocument在创建XML流时保留这些字符实体?也许我可以使用XDocument或XmlDocument替代它?

1 个答案:

答案 0 :(得分:0)

您是否尝试过将编码设置为latin-1创建XmlWriter,然后使用它保存XDocument?我没有尝试过,但它可能强迫它使用不必要的字符实体。

如果它甚至不支持Unicode,你会使用什么样的可怕软件?