Lors du traitement du document XML contenant l'espace de dénomination par défaut, le nœud de sélection XPATH en C # peut rencontrer des défis. En effet, l'expression de XPath doit généralement être déclarée explicitement l'espace de dénomination pour identifier les éléments et les attributs du document.
Dans l'exemple fourni, le code tente d'utiliser xpathnavigator pour sélectionner le nœud dans le document XML avec l'espace nommé par défaut. Cependant, si vous ne spécifiez pas l'espace de nom, vous n'aurez aucun résultat.
Solution:
La méthode de résolution de ce problème est de contenir l'espace nommé par défaut dans l'expression XPATH. Cela peut être réalisé en utilisant XMLNamespaceManager pour associer le préfixe d'espace de dénomination à URI. Ce qui suit est la version de code mise à jour:
dans le code après cette mise à jour:
XmlElement el = ...; //TODO XmlNamespaceManager nsmgr = new XmlNamespaceManager( el.OwnerDocument.NameTable); nsmgr.AddNamespace("x", el.OwnerDocument.DocumentElement.NamespaceURI); var nodes = el.SelectNodes(@"/x:outerelement/x:innerelement", nsmgr);
Obtenez la référence à l'élément racine (XMLelement EL).
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!