XML解析:读取CDATA

E.M*_*ert 4 c# rss cdata xml-parsing windows-phone-7

<item><title>this is title</title><guid isPermaLink="true">http://www.i.com/video/nokia-lumia-920-deki-pureview_2879.html</guid><link>http://www.i.com/video/nokia-lumia-920-deki-pureview_2879.html</link>
<description><![CDATA[this is the info.]]></description>
<pubDate>Wed, 5 Sep 2012 22:10:00 UT</pubDate>
<media:content type="image/jpg" expression="sample" fileSize="2956" medium="image" url="http://media.chip.com.tr/images/content/video/88/201209060102428081-0.jpg"/>
<enclosure type="image/jpg" url="http://media.chip.com.tr/images/content/video/88/201209060102428081-0.jpg" length="2956"/></item>
Run Code Online (Sandbox Code Playgroud)

我想在<"description">中阅读CDATA

我写了这个

        var x = e.Result;// e is downlaoded xml file

        var videos = XElement.Parse(e.Result);

        var fList = (from haber in videos.Descendants("channel").Elements("item")
                     select new Video
                     {
                         title = haber.Element("title").Value,
                         link = haber.Element("link").Value,
                         //description = ???????
                     }).ToList();
Run Code Online (Sandbox Code Playgroud)

我应该写什么描述?//编辑答案:同样的方式

但如果描述像这样?

<![CDATA[<p>Zombiler ad?na ne umduk ne bulduk!</p> <p> </p><p><img style="margin: 5px 0px 5px 5px; border: 1px solid #333333; float: right;" alt="Black_ops" src="http://or.com/images/stories/haber/haberler6/20120918_Castlevania/Black_ops.jpg" height="0" width="0" /><strong>Black Ops 2</strong>'de Zombi modu olabilir haberi ç?kt???ndan beri bir ses, bir görüntü beklerken <strong>Call of Duty</strong>'nin resmi <strong>Youtube</strong> sayfas?nda a?a??daki video yay?nland?. Aç?kças? ne demek istiyorlar anlamak güç. <p><a href="http://or.com/haberler/1-yeni-oyunlar/10624-esi-gorulmemis-call-of-duty-videosu">Devam?n? oku...</a></p>]]>
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 11

您应该能够使用完全相同的代码:

description = haber.Element("description").Value
Run Code Online (Sandbox Code Playgroud)

要么

description = (string) haber.Element("description")
Run Code Online (Sandbox Code Playgroud)

LINQ to XML将负责为您阅读文本.

  • @ user1248643:不是真的,因为如果你尝试我所说的话,你还没有说出了什么问题.我希望从元素中提取HTML就好了.如果您想从HTML*中提取*文本,那么这是一个完全独立的问题,与CDATA相关性较小. (2认同)