忽略在C#中由dataSet.ReadXml解析CDATA的情况

时间:2019-06-27 09:07:08

标签: c# xml dataset

我有一个像这样的xml:

<dictionary>
    <string key="Test">
        <value><![CDATA[<b>Test Data</b>]]></value>
    </string>       
</dictionary>

我将此xml加载到DataSet中。加载dataSet.ReadXml后,从值中删除CDATA。我需要CDATA作为数据集中的值。我需要这些数据:

--------------------------------------------
|  Key    |         Value                  |
--------------------------------------------
|  Test   | <![CDATA[<b>Test Data</b>]]>   |
--------------------------------------------

读取xml时如何忽略解析CDATA

1 个答案:

答案 0 :(得分:1)

通过这种方式,您可以获得想要的东西:

using (StringReader stream = new StringReader("<dictionary> <string key=\"Test\"> <value><![CDATA[<b>Test Data</b>]]></value> </string> </dictionary>"))
{
    XDocument doc = XDocument.Load(stream);
    XElement element = doc.Descendants("value").First();
    string value = element.LastNode.ToString();
    Console.WriteLine(value);
}

输出:

<![CDATA[<b>Test Data</b>]]>