c# - 保留字符串的 Xml 编码字符

标签 c# linq-to-xml

我需要更新一个 XML 文档;使用 C#,最好使用 Linq To Xml。源 XML 文件具有以下节点:

<characters>Lorem &#xD;Ipsum</characters>

我需要将这个节点更新成这样:

<characters>Lorem1 &#xD;Ipsum2</characters>

当我从 Xml 中读取字符串时;我明白了:

"Lorem &#xD;Ipsum"

当我使用

编写字符串时
copyEl.SetElementValue(ns + "characters", "Lorem1 &#xD;Ipsum2");

输出的 Xml 具有重新转义的编码字符的前导符号:

 <characters>Lorem1 &amp;#xD;Ipsum2</characters>

我想保留原始字符串中的 Xml 编码;但我不确定该怎么做。有什么想法吗?

最佳答案

使用 Linq-to-XML 或任何 xml 抽象类的优点在于您无需担心字符串编码。只需将字符串作为 C# 字符串传入,然后让 linq 为您将其转换为 XML 字符串:

copyEl.SetElementValue(ns + "characters", "Lorem1 \rIpsum2");

关于c# - 保留字符串的 Xml 编码字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15753004/

相关文章:

c# - 部署时 ASP.net CS1061 编译错误

c# - 泛型方法中的条件类型

c# - 验证一个windows目录

xml - 使用 XSD 验证 XML

c# - DateTime.Min在Linq to XML中字符串等于Empty或Null时的值

c# - 如何检查 XDocument 是否至少有一个 child ?

c# - 如何从字符串为 Lambda 表达式动态创建方法

linq-to-xml - LINQ to XML 新手问题 : Reading xml and order by attribute

c# - 使用 LINQ 覆盖或忽略 C# 中未声明的实体

c# - 将数据表列绑定(bind)到类模型中