2013-06-05 35 views
0

我的問題如下: 我試圖反序列化一個XML文檔(請參閱下文)。我該如何反序列化(XML)url字段?


offer id="68985117" categoryId="2921"> 
    <offerName>CD Metallica - Some Kind of Monster (5314040)</offerName> 
    <offerShortName>Cd Metallica Some</offerShortName> 
    <links> 
    <link type="offer" url="http://.."/> 
    <thumbnail url="http://thumbs.buscape.com.br/T100x100/__2.81-41ca11d.jpg"/> 
    <price> 
    <currency abbreviation="BRL"/> 
    <value>19.90</value> 

我'使用讀取[offerName] XML

offername = x.GetElementsByTagName("offerName")[0].InnerText, 

和值由

offervalue = x.GetElementsByTagName("value")[0].InnerText 

我的問題:我如何獲取鏈接網址和縮略圖網址?

+0

能有人張貼的示例代碼?下面的解決方案沒有工作。 –

回答

0

獲取元素(即縮略圖),然後從屬性集合中選取url屬性。

0
var thumbnailUrl = x.GetElementsByTagName("thumbnail")[0].GetAttribute["url"].Value; 
var linklUrl = x.GetElementsByTagName("link")[0].GetAttribute["url"].Value; 
+0

返回錯誤:System.Xml.XmlNode不包含GetAttribute的定義。 –

1

使用的XmlElement

string url = x.GetElementsByTagName("link")[0].GetAttribute("url"); 

GetAttribute()方法下面是一個完整的例子

XmlDocument x = new XmlDocument(); 

x.LoadXml("<xml goes here/>"); 

string offername = x.GetElementsByTagName("offerName")[0].InnerText; 
string offervalue = x.GetElementsByTagName("value")[0].InnerText; 

string linkUrl = x.GetElementsByTagName("link")[0].Attributes["url"].Value; 
string thumb = x.GetElementsByTagName("thumbnail")[0].Attributes["url"].Value; 
+0

返回錯誤:System.Xml.XmlNode不包含GetAttribute的定義; –

+0

將其轉換爲XmlElement,或者使用XmlElement和XmlNode都具有的Attributes屬性 – Jason

+0

使用XmlElement無法加載包含整個xml代碼的我的字符串。我也不能使用xmldocument或xml元素上的GetAtributte()方法。 –