2013-06-05 2 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> 

I'am чтение [offerName] с помощью XML-

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

и значение по

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

Мой вопрос: как я могу взять URL-адрес ссылки и эскиз?

+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

Используйте GetAttribute() метод XmlElement

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

Вот полный пример

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 или использовать свойство Attributes, которое имеет как XmlElement, так и XmlNode. – Jason

+0

С XmlElement я не могу загрузить мою строку, содержащую весь xml-код. Я также не могу использовать метод GetAtributte() для элемента xmldocument или xml. –

Смежные вопросы