在xml中更新CDATA

SAK*_*SAK 3 c# xml xmldocument

我有包含CDATA的xml文件

我需要更新CDATA,就像在这个例子中一样.

我在这里修改"跨度"

<elements>
    <![CDATA[-div[id|dir|class|align|style],-span[class|align]]]>
  </elements>
Run Code Online (Sandbox Code Playgroud)

应该更新为

<elements>
    <![CDATA[-div[id|dir|class|align|style],-span[class|align|style]]]>
  </elements>
Run Code Online (Sandbox Code Playgroud)

我正在使用框架2.0 ..如何使用xmldocument这样做.

谢谢

Jon*_*eet 5

只需获取XmlCDataSection并更改Value属性即可.这是一个肯定使用LINQ来查找CData部分的示例,但更改它的原则是相同的:

using System;
using System.Linq;
using System.Xml;

class Test
{
    static void Main(string[] args)
    {
        string xml = 
@"<elements>
    <![CDATA[-div[id|dir|class|align|style],-span[class|align]]]>
</elements>";
        XmlDocument doc = new XmlDocument();
        doc.LoadXml(xml);
        XmlCDataSection cdata = doc.DocumentElement
                                   .ChildNodes
                                   .OfType<XmlCDataSection>()
                                   .First();
        cdata.Value = "-div[id|dir|class|align|style],-span[class|align|style]";
        doc.Save(Console.Out);
    }
}
Run Code Online (Sandbox Code Playgroud)