Maison > développement back-end > C++ > Comment inclure des espaces de noms dans XPATH Sélectionne en utilisant C #?

Comment inclure des espaces de noms dans XPATH Sélectionne en utilisant C #?

Patricia Arquette
Libérer: 2025-01-29 08:07:09
original
766 Les gens l'ont consulté

How to Include Namespaces in XPath Selects Using C#?

en utilisant C # pour gérer les espaces de noms dans les requêtes XPath

Lorsque vous travaillez avec des documents XML contenant des espaces de noms, en particulier les espaces de noms par défaut, en spécifiant correctement l'espace de noms dans vos requêtes XPath est essentielle pour une sélection de nœud précise. Les méthodes de sélection de XPATH standard ignorent souvent les informations d'espace de noms par défaut.

Pour inclure les informations d'espace de noms dans vos sélections C # XPATH, tirez parti de la classe XmlNamespaceManager. Voici un guide étape par étape:

  1. Instancier XmlNamespaceManager:

    Créez une nouvelle instance XmlNamespaceManager, fournissant le NameTable de votre document XML en tant que paramètre. Cela relie le gestionnaire d'espace de noms aux définitions d'espace de noms du document.

  2. Enregistrez l'espace de noms:

    Utilisez la méthode AddNamespace() pour enregistrer votre espace de noms. Si vous traitez avec un espace de noms par défaut, affectez un préfixe (par exemple, "x") et l'espace de noms URI obtenu à partir de l'élément racine du document.

  3. Exécuter la sélection XPATH:

    Utilisez la méthode SelectNodes(), en passant à la fois votre expression XPATH et l'instance XmlNamespaceManager. Dans votre expression XPATH, les noms d'éléments préfixés avec le préfixe que vous avez défini précédemment (par exemple, /x:outerelement/x:innerelement).

Exemple illustratif:

<code class="language-csharp">XmlElement el = ...; // Your XML element
XmlNamespaceManager nsmgr = new XmlNamespaceManager(el.OwnerDocument.NameTable);
nsmgr.AddNamespace("x", el.OwnerDocument.DocumentElement.NamespaceURI); // Register default namespace with prefix "x"
var nodes = el.SelectNodes("/x:outerelement/x:innerelement", nsmgr); // Perform selection using namespace manager</code>
Copier après la connexion

Cette méthode garantit que vos requêtes XPATH tiennent correctement compte des espaces de noms, conduisant à une récupération précise du nœud à partir de votre document XML. N'oubliez pas de remplacer les espaces réservés comme ... par votre élément XML ré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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal