c# - XML CDATA 编码

标签 c# xml cdata

我正在尝试使用 CDATA 在 C# 中构建一个 XML 文档,以将文本保存在一个元素中。例如..

<email>
<![CDATA[test@test.com]]>
</email>

但是,当我获取文档的 InnerXml 属性时,CDATA 已被重新格式化,因此 InnerXml 字符串看起来像下面的失败。

<email>
&lt;![CDATA[test@test.com]]&gt;
</email>

如何在访问XML字符串时保持原来的格式?

干杯

最佳答案

不要使用 InnerText:使用 XmlDocument.CreateCDataSection :

using System;
using System.Xml;

public class Test
{
    static void Main()
    {
        XmlDocument doc = new XmlDocument();
        XmlElement root = doc.CreateElement("root");
        XmlElement email = doc.CreateElement("email");
        XmlNode cdata = doc.CreateCDataSection("test@test.com");

        doc.AppendChild(root);
        root.AppendChild(email);
        email.AppendChild(cdata);

        Console.WriteLine(doc.InnerXml);
    }
}

关于c# - XML CDATA 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/969124/

相关文章:

c# - 正确地在 ASP.NET 中进行锁定

c# - 如何在不引用 X11 的情况下以单声道绘制 png 图像

html - 阻止 WordPress 在 CDATA 中包含脚本

c# - EF Core 2.1 RC 1 GroupBy 仍在本地评估

c# - SQL 2005 随机连接超时/关于数据库超时的最佳实践

python - 使用python etree提取xml文件的一部分

xml - RSS 浏览器检测

c# - 使用 XmlSerializer 获取列表时可以省略干预级别吗?

xml - 通过 XSLT 使用 CDATA 部分包围 XML 元素

sql-server - 如何在 SQL XML 中使用 CDATA