c# - 在 C# 中忽略通过 `dataSet.ReadXml` 解析 `CDATA`
问题描述
我有一个这样的xml:
<dictionary>
<string key="Test">
<value><![CDATA[<b>Test Data</b>]]></value>
</string>
</dictionary>
我在数据集中加载这个 xml。加载后从值中dataSet.ReadXml
删除。CDATA
我需要CDATA
作为数据集中的值。我需要这些数据:
--------------------------------------------
| Key | Value |
--------------------------------------------
| Test | <![CDATA[<b>Test Data</b>]]> |
--------------------------------------------
CDATA
读取xml时如何忽略解析?
解决方案
这样你就可以得到你想要的:
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>]]>