Partager via


XmlNamespaceManager Classe

Définition

Résout des espaces de noms dans une collection, ajoute des espaces de noms à une collection, en supprime et gère la portée de ces espaces de noms.

public ref class XmlNamespaceManager : System::Collections::IEnumerable, System::Xml::IXmlNamespaceResolver
public ref class XmlNamespaceManager : System::Collections::IEnumerable
public class XmlNamespaceManager : System.Collections.IEnumerable, System.Xml.IXmlNamespaceResolver
public class XmlNamespaceManager : System.Collections.IEnumerable
type XmlNamespaceManager = class
    interface IEnumerable
    interface IXmlNamespaceResolver
type XmlNamespaceManager = class
    interface IEnumerable
type XmlNamespaceManager = class
    interface IXmlNamespaceResolver
    interface IEnumerable
Public Class XmlNamespaceManager
Implements IEnumerable, IXmlNamespaceResolver
Public Class XmlNamespaceManager
Implements IEnumerable
Héritage
XmlNamespaceManager
Dérivé
Implémente

Remarques

Pour plus d’informations sur la façon dont les espaces de noms sont déclarés et utilisés dans les documents XML, consultez Gestion des espaces de noms dans un document XML.

XmlNamespaceManager stocke les préfixes et les espaces de noms sous forme de chaînes. Voici un résumé des tâches de gestion et de recherche que vous pouvez effectuer avec cette classe. Pour obtenir plus d'informations et des exemples, suivez les liens à la page de référence de chaque méthode ou propriété.

À Utiliser
Ajouter un espace de noms Méthode AddNamespace
Supprimer un espace de noms Méthode RemoveNamespace
Rechercher l'URI de l'espace de noms par défaut PropriétéDefaultNamespace
Rechercher l'URI du préfixe d'un espace de noms Méthode LookupNamespace
Rechercher le préfixe de l'URI d'un espace de noms Méthode LookupPrefix
Obtenir une liste des espaces de noms dans le nœud actuel Méthode GetNamespacesInScope
Définir la portée d'un espace de noms Méthodes PushScope et PopScope
Vérifier si un préfixe est défini dans la portée actuelle Méthode HasNamespace
Obtenir la table de noms utilisée pour rechercher les préfixes et les URI PropriétéNameTable

Pour ajouter des espaces de noms au gestionnaire d’espaces de noms, vous créez un XmlNamespaceManager objet, puis utilisez la AddNamespace méthode. Des paires espace de noms/préfixe par défaut sont automatiquement ajoutées au gestionnaire d'espaces de noms au moment de la création.

Lorsque vous créez le gestionnaire d’espaces de noms, vous pouvez spécifier une table de noms à partir du XmlReader, XsltContextou XmlDocument de la classe, puis utiliser la AddNamespace méthode pour ajouter les espaces de noms.

Vous pouvez fournir l’objet XmlNamespaceManager en tant que paramètre à la classe ou SelectSingleNode à la SelectNodes méthode de la XmlDocument classe pour exécuter des expressions de requête XPath qui référencent des noms d’attributs et d’éléments qualifiés d’espace de noms.

Le gestionnaire d’espaces de noms suppose que les préfixes et les espaces de noms ont déjà été vérifiés et conformes à la spécification des espaces de noms W3C . Le gestionnaire d’espaces de noms n’effectue aucune validation.

Le gestionnaire d’espaces de noms atomise les chaînes lorsqu’elles sont ajoutées à l’aide de la méthode et lorsqu’une recherche est effectuée à l’aide AddNamespace de la méthode ou LookupPrefix de la LookupNamespace méthode.

En plus d'ajouter et d'extraire les espaces de noms, le gestionnaire d'espaces de noms implémente la prise en charge de l'énumération. Vous pouvez parcourir les informations enregistrées dans le gestionnaire d’espaces de noms à l’aide de la foreach construction. Par exemple, si vous créez un gestionnaire d’espaces de noms avec le nom nsmanager, vous pouvez itérer via la table à l’aide foreach (String prefix in nsmanager)de .

Parce que le gestionnaire d'espaces de noms assure une comparaison de chaînes avec le préfixe et les espaces de noms en tant qu'objets, son utilisation sur une comparaison directe d'une chaîne améliore les performances.

L’exemple de code suivant montre comment lier le préfixe xsd avec l’URI d’espace de noms et l’ajouter au gestionnaire d’espaces de http://www.w3.org/2001/XMLSchema noms :

nsmgr.AddNamespace("xsd", "http://www.w3.org/2001/XMLSchema")  
nsmgr.AddNamespace("xsd", "http://www.w3.org/2001/XMLSchema");  

Vous pouvez ensuite trouver l’espace de noms à l’aide de la LookupNamespace méthode :

nsmgr.LookupNamespace("xsd")  
nsmgr.LookupNamespace("xsd");  

L’exemple suivant crée une XmlNamespaceManager table de noms à partir d’un lecteur XML :

Dim reader As New XmlTextReader("myfile.xml")  
Dim nsmanager As New XmlNamespaceManager(reader.NameTable)  
nsmanager.AddNamespace("msbooks", "www.microsoft.com/books")  
nsmanager.PushScope()  
nsmanager.AddNamespace("msstore", "www.microsoft.com/store")  
While reader.Read()  
    Console.WriteLine("Reader Prefix:{0}", reader.Prefix)  
    Console.WriteLine("XmlNamespaceManager Prefix:{0}",  
     nsmanager.LookupPrefix(nsmanager.NameTable.Get(reader.NamespaceURI)))  
End While  
XmlTextReader reader = new XmlTextReader("myfile.xml");  
XmlNamespaceManager nsmanager = new XmlNamespaceManager(reader.NameTable);  
nsmanager.AddNamespace("msbooks", "www.microsoft.com/books");  
nsmanager.PushScope();  
nsmanager.AddNamespace("msstore", "www.microsoft.com/store");  
while (reader.Read())  
{  
    Console.WriteLine("Reader Prefix:{0}", reader.Prefix);  
    Console.WriteLine("XmlNamespaceManager Prefix:{0}",  
    nsmanager.LookupPrefix(nsmanager.NameTable.Get(reader.NamespaceURI)));  
}  

Constructeurs

XmlNamespaceManager(XmlNameTable)

Initialise une nouvelle instance de la classe XmlNamespaceManager avec le XmlNameTable spécifié.

Propriétés

DefaultNamespace

Obtient l'URI de l'espace de noms de l'espace de noms par défaut.

NameTable

Obtient l'objet XmlNameTable associé à cet objet.

Méthodes

AddNamespace(String, String)

Ajoute l’espace de noms spécifié à la collection.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetEnumerator()

Retourne un énumérateur qui peut être utilisé pour itérer au sein des espaces de noms de XmlNamespaceManager.

GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetNamespacesInScope(XmlNamespaceScope)

Obtient une collection de noms d'espace de noms indexés par préfixe qui peut être utilisée pour énumérer les espaces de noms figurant actuellement dans la portée.

GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
HasNamespace(String)

Obtient une valeur indiquant si le préfixe fourni possède un espace de noms défini pour la portée actuelle faisant l'objet d'un push.

LookupNamespace(String)

Obtient l'URI de l'espace de noms du préfixe spécifié.

LookupPrefix(String)

Recherche le préfixe déclaré pour l'URI de l'espace de noms spécifié.

MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
PopScope()

Dépile une portée espace de noms de la pile.

PushScope()

Exécute un push d'une portée espace de noms dans la pile.

RemoveNamespace(String, String)

Supprime l'espace de noms indiqué pour le préfixe spécifié.

ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

Méthodes d’extension

Cast<TResult>(IEnumerable)

Effectue un cast des éléments d'un IEnumerable vers le type spécifié.

OfType<TResult>(IEnumerable)

Filtre les éléments d'un IEnumerable en fonction du type spécifié.

AsParallel(IEnumerable)

Active la parallélisation d'une requête.

AsQueryable(IEnumerable)

Convertit un IEnumerable en IQueryable.

S’applique à

Voir aussi