Как мы можем запросить XCData под конкретным узлом XElment? - PullRequest
1 голос
/ 09 ноября 2009
<XMLDOC> 
<OPTIONA>   
    <![CDATA[
aaaaaaaaaaaaa           
]]>
    <![CDATA[
    bbbbbbbb]]>
<OPTIONA>
<OPTIONB>
    <![CDATA[
cccccccccccccccccccc            
]]>
    <![CDATA[
   dddddddddddddd]]>
</OPTIONB>
</XMLDOC>

Как мне запросить все CDATA под OPTIONB ?? используя Linq-to-XML ???

Ответы [ 2 ]

3 голосов
/ 09 ноября 2009

Узел OPTIONB эквивалентен:

<OPTIONB>
    <![CDATA[
cccccccccccccccccccc                    

   dddddddddddddd]]>
</OPTIONB>

Таким образом, чтобы получить значение внутри раздела CData, вы можете использовать следующее:

var cdata = XElement.Load("test.xml").Element("OPTIONB").Value;

Вы не сможете получить значения CData по отдельности, поскольку они имеют ту же семантику, что и отдельный раздел CData для синтаксического анализатора XML.

1 голос
/ 26 января 2010
XElement.Load("test.xml")
 .Element("OPTIONB")
   .Nodes()
     .Where(x=>x is XCData).First().Cast<XCData>().Value
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...