我在我的项目中使用 XmlTextWriter 类。我不知道,如何在 Xml 中使用 CDATA。谁能帮我?

objX.WriteElementString("category", c.DeepestCategoryName);

最佳答案

正如其他人所指出的,如果您想明确地编写 CDATA 部分,请使用 WriteCData。这是一种通用扩展方法,如果文本包含某些字符,我会使用它来“自动”编写 CDATA 元素:

public static void WriteElementContent(this XmlWriter writer, string content)
{
    if (String.IsNullOrEmpty(content))
    {
        return;
    }

    // WriteString will happily escape any XML markup characters. However,
    // for legibility we write content that contains certain special
    // characters as CDATA
    const string SpecialChars = @"<>&";
    if (content.IndexOfAny(SpecialChars.ToCharArray()) != -1)
    {
        writer.WriteCData(content);
    }
    else
    {
        writer.WriteString(content);
    }
}

关于c# - 如何使用 XmlTextWriter 生成 CDATA?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4546750/

10-12 01:44