Bonjour,
J'ai un souci que je n'arrive pas à comprendre
Je vous mets le bout de code pour le principe
Ce que je ne comprends pas, c'estque la recherche du noeud renvoie null alors que le chemin XPath est valide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 XmlElement element = doc.DocumentElement; if (element.LocalName == "toto") { //Récupération des names spaces de cet élément racine XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable); nsmgr.AddNamespace(element.Prefix, element.NamespaceURI); string prefixe = string.IsNullOrEmpty(element.Prefix) ? "" : (element.Prefix + ":"); //Recherche du noeud XmlNode nodeSearch = element.SelectSingleNode(string.Format("{0}EMET//{0}MESS//{0}TMES//{0}TMES_001", prefixe), nsmgr); if (nodeSearch != null) m_Envoi.Entete.Echange.RefConversation += "#" + nodeSearch.InnerText; }
Si je fais un test de recherche ainsi : element["EMET"], il va bien me trouver le noeux correspondant
Le chemin étant à plusieurs étages, çà complique les choses d'enchaîner les element["xxx"] alors que le SelectSingleNode renvoie null facilement si le chemin est incorrect
Est-ce que quelqu'un a une idée ou une autre technique ?
Merci






Répondre avec citation


Partager