XmlNamespaceManager Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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. |