Ça devrais ressembler à ça
Code :
{
XmlNode selected = itemNode.SelectSingleNode("link");
if (selected != null)
url = selected.Attributes.GetNamedItem("url").Value;
}
Si ça ne fonctionne pas, voici un exemple en vb.net. À part la déclaration des variables, ça va être la même chose en c#.
Code :
Dim objXmlDoc As New System.Xml.XmlDocument
Dim objXmlLink As XmlNode
Dim strUrl as String
objXmlDoc.LoadXml("<item><description>Ceci est une description</description><link url='http://www.test.com'/></item>")
objXmlLink = objXmlDoc.SelectSingleNode("item/link")
strUrl = objXmlLink.Attributes.GetNamedItem("url").Value
Il faut aller dans les attributes du noeud xml. GetNamedItem permet d'obtenir un attribut en lui fournissant son nom. Tu peux faire une validation avant d'utiliser .Value au cas ou l'attribut n'existe pas. Le best c'est de tout mettre ça dans un try catch et si une erreur survient dans le traitement du XML tu l'indique. Comme ça, dépendant des besoins, ce ne sera pas nécessaire de s'assurer que l'élément n'est pas null.
J'oubliais, vous devriez utiliser .Value au lieu de .InnerText pour obtenir la valeur d'un noeud.