我正在将一组服务移植到 .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/