在XmlWriter中XmlElement周围添加CDATA

问题描述 投票:0回答:1

我想在元素“MyElement”周围添加 CDATA。

var myCDATA = "<![CDATA[";

writer.WriteStartElement("MyElement");
writer.WriteString(myCDATA);

foreach (var item in myItems)
{
    writer.WriteString(item);
}

writer.WriteString("]]>");
writer.WriteEndElement();

I tried several solution with 

 1. &gt; and &lt;   
 2. `>` and `<`
 3. gt; and lt;

任何时候我都会在 XML 文件中得到与结束标记相同的

"<![CDATA["

像这样:

<MyElement><![CDATA[
item1
item2
]]></MyElement>

你知道如何做到这一点吗?

谢谢,

c# .net xml escaping
1个回答
0
投票

最好使用 LINQ to XML API。自 2007 年起,它就在 .Net Framework 中可用。

请尝试以下解决方案作为满足您需求的起点。

c#

void Main()
{
    XElement xml = new XElement("description",
            new XCData("fafa"));
    Console.WriteLine(xml);
}

输出

<description><![CDATA[fafa]]></description>
© www.soinside.com 2019 - 2024. All rights reserved.