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

标签 character-encoding linq-to-xml escaping

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

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

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

最佳答案

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

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

关于character-encoding - 如何在 .Net XDocument 中保留字符实体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4880442/

相关文章:

xml - 使用 DOMDocument 的简单 xml 文档中的 & 符号

javascript - 为什么我无法让该实体代码在浏览器中正确显示?

c# - 如何使用 Linq 解析 xml?

c# - 有没有一种简单的方法可以比较 2 个 XDocuments 是否相等而忽略元素/属性顺序?

c - 在 sscanf 中转义方括号 ]

mysql - Ansible 原始和引用

unicode - 在哪里可以找到有关字符编码的良好介绍?

Java - 从字符串中删除\u0000

c# - LINQ to XML 后代中的后代

sql - 在 Rails 中转义 SQL LIKE 查询