Игнорировать синтаксический анализ `CDATA` по` dataSet.ReadXml` в C # - PullRequest
1 голос
/ 27 июня 2019

У меня есть 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>]]>   |
--------------------------------------------

Как я могу игнорировать парсинг CDATA при чтении xml?

1 Ответ

1 голос
/ 27 июня 2019

Таким образом, вы можете получить то, что вы хотите:

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>]]>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...