如何使用XmlTextWriter生成CDATA?

ozk*_*ank 2 .net c# xml

我正在XmlTextWriter我的项目中使用课程.我不知道,如何在Xml中使用CDATA.谁能帮我?

objX.WriteElementString("category", c.DeepestCategoryName);
Run Code Online (Sandbox Code Playgroud)

Ric*_*ebb 6

如其他人所述,WriteCData如果要显式编写CDATA部分,请使用.这是一个通用的扩展方法,我用它来"自动"写一个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);
    }
}
Run Code Online (Sandbox Code Playgroud)