2013-06-05 3 views
0

Mon problème est le suivant: Je tente de désérialiser un document XML (voir ci-dessous).Comment désérialiser (XML) un champ d'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> 

lecture I'am [offerName] en utilisant XML

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

et valeur par

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

Ma question: comment puis-je prendre l'URL du lien et l'URL des miniatures?

+0

Quelqu'un peut-il afficher un exemple de code? Les solutions ci-dessous n'ont pas fonctionné. –

Répondre

0

Obtenez l'élément (c'est-à-dire la vignette), puis sélectionnez l'attribut url dans la collection d'attributs.

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

Erreur de retour: System.Xml.XmlNode ne contient pas de définition de GetAttribute. –

1

Utilisez la méthode GetAttribute() de XmlElement

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

Voici un exemple complet

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

Erreur de retour: System.Xml.XmlNode ne contient pas de définition de GetAttribute; –

+0

le transtyper en un XmlElement, ou utiliser la propriété Attributes, que XmlElement et XmlNode ont tous les deux – Jason

+0

Avec XmlElement, je ne peux pas charger ma chaîne qui contient tout le code xml. Je ne peux pas non plus utiliser la méthode GetAtributte() sur l'élément xmldocument ou xml. –

Questions connexes