XmlNamespaceManager XmlNamespaceManager XmlNamespaceManager XmlNamespaceManager Class

Définition

Résout des espaces de noms dans une collection, ajoute des espaces de noms à une collection, en supprime de celle-ci et gère la portée de ces espaces de noms.Resolves, adds, and removes namespaces to a collection and provides scope management for these namespaces.

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

Remarques

Pour obtenir des informations générales 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.For general information about how namespaces are declared and used in XML documents, see Managing Namespaces in an XML Document.

XmlNamespaceManagerstocke des préfixes et des espaces de noms sous forme de chaînes.XmlNamespaceManager stores prefixes and namespaces as strings. Voici un résumé des tâches de gestion et de recherche que vous pouvez effectuer avec cette classe.Here's a summary of management and lookup tasks you can perform with this class. Pour obtenir plus d'informations et des exemples, suivez les liens à la page de référence de chaque méthode ou propriété.For more information and examples, follow the links to the reference page for each method or property.

ÀTo UtilisezUse
Ajouter un espace de nomsAdd a namespace Méthode AddNamespaceAddNamespace method
Supprimer un espace de nomsRemove a namespace Méthode RemoveNamespaceRemoveNamespace method
Rechercher l'URI de l'espace de noms par défautFind the URI for the default namespace PropriétéDefaultNamespaceDefaultNamespace property
Rechercher l'URI du préfixe d'un espace de nomsFind the URI for a namespace prefix Méthode LookupNamespaceLookupNamespace method
Rechercher le préfixe de l'URI d'un espace de nomsFind the prefix for a namespace URI Méthode LookupPrefixLookupPrefix method
Obtenir une liste des espaces de noms dans le nœud actuelGet a list of namespaces in the current node Méthode GetNamespacesInScopeGetNamespacesInScope method
Définir la portée d'un espace de nomsScope a namespace Méthodes PushScope et PopScopePushScope and PopScope methods
Vérifier si un préfixe est défini dans la portée actuelleCheck whether a prefix is defined in the current scope Méthode HasNamespaceHasNamespace method
Obtenir la table de noms utilisée pour rechercher les préfixes et les URIGet the name table used to look up prefixes and URIs PropriétéNameTableNameTable property

Pour ajouter des espaces de noms au gestionnaire d’espaces de noms XmlNamespaceManager , créez un objet, AddNamespace puis utilisez la méthode.To add namespaces to the namespace manager, you create a XmlNamespaceManager object and then use the AddNamespace method. 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.Default prefix and namespace pairs are automatically added to the namespace manager on creation.

Lorsque vous créez le gestionnaire d’espaces de noms, vous pouvez spécifier une table XmlReaderde XsltContextnoms à XmlDocument partir de la classe, ou AddNamespace , puis utiliser la méthode pour ajouter les espaces de noms.When you create the namespace manager, you can specify a name table from the XmlReader, XsltContext, or XmlDocument class, and then use the AddNamespace method to add the namespaces.

Vous pouvez fournir l' XmlNamespaceManager objet en tant que paramètre à SelectNodes la SelectSingleNode méthode ou de XmlDocument la classe pour exécuter des expressions de requête XPath qui font référence à des noms d’élément et d’attribut qualifiés par un espace de noms.You can supply the XmlNamespaceManager object as a parameter to the SelectNodes or SelectSingleNode method of the XmlDocument class to execute XPath query expressions that reference namespace-qualified element and attribute names.

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 du W3C sur les espaces de noms .The namespace manager assumes that prefixes and namespaces have already been verified and conform to the W3C Namespaces specification. Le gestionnaire d’espaces de noms n’effectue aucune validation.The namespace manager does not perform any validation.

Le gestionnaire d’espaces de noms atomise les chaînes lorsqu’elles sont ajoutées AddNamespace à l’aide de la méthode et lorsqu’une recherche LookupNamespace est LookupPrefix effectuée à l’aide de la méthode ou.The namespace manager atomizes the strings when they are added by using the AddNamespace method and when a lookup is performed by using the LookupNamespace or LookupPrefix method.

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.The namespace manager implements enumeration support in addition to adding and retrieving namespaces. Vous pouvez parcourir les informations enregistrées dans le gestionnaire d’espaces de noms à foreach l’aide de la construction.You can loop through the information saved in the namespace manager by using the foreach construct. Par exemple, si vous créez un gestionnaire d’espaces de noms nsmanageravec le nom, vous pouvez effectuer une itération foreach (String prefix in nsmanager)au sein de la table à l’aide de.For example, if you create a namespace manager with the name nsmanager, you can iterate through the table by using foreach (String prefix in nsmanager).

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.Because the namespace manager provides a string comparison with the prefix and namespaces as objects, there is a performance improvement when using the namespace manager over the direct comparison of a string.

L’exemple de code suivant montre comment lier le préfixe xsd à l’URI d’espace de noms de et l’ajouter au gestionnaire d’espaces de http://www.w3.org/2001/XMLSchema noms :The following code example shows how to bind the prefix xsd with the namespace URI of http://www.w3.org/2001/XMLSchema and add it to the namespace manager:

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

Vous pouvez ensuite Rechercher l’espace de noms à LookupNamespace l’aide de la méthode :You can then find the namespace by using the LookupNamespace method:

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

L’exemple suivant crée un XmlNamespaceManager à l’aide de la table de noms à partir d’un lecteur XML :The following example creates an XmlNamespaceManager by using the name table from an XML reader:

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) XmlNamespaceManager(XmlNameTable) XmlNamespaceManager(XmlNameTable) XmlNamespaceManager(XmlNameTable)

Initialise une nouvelle instance de la classe XmlNamespaceManager avec le XmlNameTable spécifié.Initializes a new instance of the XmlNamespaceManager class with the specified XmlNameTable.

Propriétés

DefaultNamespace DefaultNamespace DefaultNamespace DefaultNamespace

Obtient l'URI de l'espace de noms de l'espace de noms par défaut.Gets the namespace URI for the default namespace.

NameTable NameTable NameTable NameTable

Obtient XmlNameTable associé à cet objet.Gets the XmlNameTable associated with this object.

Méthodes

AddNamespace(String, String) AddNamespace(String, String) AddNamespace(String, String) AddNamespace(String, String)

Ajoute l'espace de noms spécifié à la collection.Adds the given namespace to the collection.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()

Retourne un énumérateur qui peut être utilisé pour itérer au sein des espaces de noms de XmlNamespaceManager.Returns an enumerator to use to iterate through the namespaces in the XmlNamespaceManager.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fait office de fonction de hachage par défaut.Serves as the default hash function.

(Inherited from Object)
GetNamespacesInScope(XmlNamespaceScope) GetNamespacesInScope(XmlNamespaceScope) GetNamespacesInScope(XmlNamespaceScope) 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.Gets a collection of namespace names keyed by prefix which can be used to enumerate the namespaces currently in scope.

GetType() GetType() GetType() GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Inherited from Object)
HasNamespace(String) HasNamespace(String) HasNamespace(String) 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.Gets a value indicating whether the supplied prefix has a namespace defined for the current pushed scope.

LookupNamespace(String) LookupNamespace(String) LookupNamespace(String) LookupNamespace(String)

Obtient l'URI de l'espace de noms du préfixe spécifié.Gets the namespace URI for the specified prefix.

LookupPrefix(String) LookupPrefix(String) LookupPrefix(String) LookupPrefix(String)

Recherche le préfixe déclaré pour l'URI de l'espace de noms spécifié.Finds the prefix declared for the given namespace URI.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crée une copie superficielle de l'objet Object actuel.Creates a shallow copy of the current Object.

(Inherited from Object)
PopScope() PopScope() PopScope() PopScope()

Dépile une portée espace de noms de la pile.Pops a namespace scope off the stack.

PushScope() PushScope() PushScope() PushScope()

Exécute un push d'une portée espace de noms dans la pile.Pushes a namespace scope onto the stack.

RemoveNamespace(String, String) RemoveNamespace(String, String) RemoveNamespace(String, String) RemoveNamespace(String, String)

Supprime l'espace de noms indiqué pour le préfixe spécifié.Removes the given namespace for the given prefix.

ToString() ToString() ToString() ToString()

Retourne une chaîne qui représente l'objet actuel.Returns a string that represents the current object.

(Inherited from Object)

Méthodes d’extension

Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable)

Effectue un cast des éléments d'un IEnumerable vers le type spécifié.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable)

Filtre les éléments d'un IEnumerable en fonction du type spécifié.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

Active la parallélisation d'une requête.Enables parallelization of a query.

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

Convertit un IEnumerable en IQueryable.Converts an IEnumerable to an IQueryable.

S’applique à

Voir aussi