2012-03-23 30 views
0

我消耗在WP7應用程序的網絡服務,而我需要解析XML線以下如何使用XDocument獲取包含名稱空間前綴的XML元素的值?

<media:thumbnail url="http://pthumbnails.5min.com/10342750/517137484_c_embedStandard.jpg" width="480" height="352"/> 

我使用這種方法來解析XML其餘

foreach (var _item in channelNode.Elements("item")) 
     { 
      int id = int.Parse(_item.Element("id").Value); 
      string title = _item.Element("title").Value; 
      string description = _item.Element("description").Value; 
      string studioName = _item.Element("studioName").Value; 
      DateTime publicationDate = DateTime.Parse(_item.Element("pubDate").Value); 
      string thumbnailUri = _item.Element("image").Element("url").Value;} 

這裏是我解析的完整項目

<item> 
<id>517310163</id> 
<title> 
Walter Isaacson on Tips for Successful Entrepreneurship from Steve Jobs 
</title> 
<description> 
Walter Isaacson discusses Steve Jobs' existence at the intersection of creativity and technology. 
</description> 
<link> 
http://www.5min.com/Video/Walter-Isaacson-on-Tips-for-Successful-Entrepreneurship-from-Steve-Jobs-517310163 
</link> 
<studioName>Simon&Schuster</studioName> 
<enclosure url="http://embed.5min.com/517310163/" duration="100" type="application/x-shockwave-flash"/> 
<geoRestriction>ALL</geoRestriction> 
<expirationDate/> 
<media:community> 
<media:statistics views="0"/> 
</media:community> 
<media:content url="http://avideos.5min.com//102/5173102/517310163_2.mp4" type="video/mp4" expression="sample" fileSize="174466031" duration="100" bitrate="600" lang="eng"/> 
<media:title type="plain"> 
Walter Isaacson on Tips for Successful Entrepreneurship from Steve Jobs 
</media:title> 
<media:description type="plain"> 
Walter Isaacson discusses Steve Jobs' existence at the intersection of creativity and technology. 
</media:description> 
<media:thumbnail url="http://pthumbnails.5min.com/10346204/517310163_10.jpg" width="140" height="105" time="00:01:30"/> 
<media:category label="Arts/Writing & Publishing">Arts/Writing & Publishing</media:category> 
<media:credit role="author">SimonandSchuster</media:credit> 
<media:rating>nonadult</media:rating> 
<media:keywords> 
Steve Jobs' Tips for Successful Entrepreneurship,apple company success,apple products,business advice,iPad development,market research,simon and schuster,steve jobs: the exclusive biography the exclusive,Walter Isaacson,Steve Jobs 
<![CDATA[ Steve Jobs' Tips for Successful Entrepreneurship ]]> 
</media:keywords> 
<media:player url="http://www.5min.com/Video/Walter-Isaacson-on-Tips-for-Successful-Entrepreneurship-from-Steve-Jobs-517310163"> 
<![CDATA[ 
<div style='text-align:center'><object width='480' height='401' id='FiveminPlayer' classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000'><param name='allowfullscreen' value='true'/><param name='allowScriptAccess' value='always'/><param name='movie' value='http://embed.5min.com/517310163/'/><embed name='FiveminPlayer' src='http://embed.5min.com/517310163/' type='application/x-shockwave-flash' width='480' height='401' allowfullscreen='true' allowScriptAccess='always'></embed></object><br/><a href='http://www.5min.com/Video/Walter-Isaacson-on-Tips-for-Successful-Entrepreneurship-from-Steve-Jobs-517310163' style='font-family: Verdana;font-size: 10px;' target='_blank'>Steve Jobs' Tips for Successful Entrepreneurship</a></div> 
]]> 
</media:player> 
<pubDate>Thu, 22 Mar 2012 13:47:31 GMT</pubDate> 
<image> 
<title> 
Walter Isaacson on Tips for Successful Entrepreneurship from Steve Jobs 
</title> 
<url> 
http://pthumbnails.5min.com/10346204/517310163_10.jpg 
</url> 
<link> 
http://www.5min.com/Video/Walter-Isaacson-on-Tips-for-Successful-Entrepreneurship-from-Steve-Jobs-517310163 
</link> 
<description> 
Walter Isaacson discusses Steve Jobs' existence at the intersection of creativity and technology. 
</description> 
<width>150</width> 
<height>100</height> 
</image> 
</item> 

我該如何獲得媒體的價值:縮略圖?

+0

的值的屬性並不清楚你所要求的。你願意提供關於你問題的更多細節嗎? – Marek 2012-03-23 10:43:43

+1

幫助什麼?我們不知道當前代碼不工作的方式。 (請注意,您顯示的XML不包含'item'元素,或者其中的任何屬性......) – 2012-03-23 10:44:02

+0

您仍然沒有清楚地說明您的問題。你是否遇到異常?哪裏?你的代碼是不是編譯?你會得到意想不到的結果? – Marek 2012-03-23 11:32:50

回答

0

某處在你的XML,你應該有一個命名空間的聲明,是這樣的:

xmlns:media="http://blah.org/stuff/" 

您可以使用解析XML時,如下所示:

XNamespace media = "http://blah.org/stuff/"; 

string thumbnailUri = (string)_item.Element(media + "thumbnail").Attribute("url"); 

注意,「網址」是屬性,而不是價值。在下面「SimonandSchuster」的例子因素是價值,而「角色」是所有「作者」

<media:credit role="author">SimonandSchuster</media:credit> 
相關問題