XmlNamespaceManager Klasa

Definicja

Rozpoznaje, dodaje i usuwa przestrzenie nazw do kolekcji i zapewnia Zarządzanie zakresem dla tych przestrzeni nazw.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 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
Dziedziczenie
XmlNamespaceManager
Pochodne
Implementuje

Uwagi

Aby uzyskać ogólne informacje na temat sposobu deklarowania przestrzeni nazw i używania ich w dokumentach XML, zobacz Zarządzanie przestrzeniami nazw w dokumencie XML.For general information about how namespaces are declared and used in XML documents, see Managing Namespaces in an XML Document.

XmlNamespaceManager przechowuje prefiksy i przestrzenie nazw jako ciągi.XmlNamespaceManager stores prefixes and namespaces as strings. Oto podsumowanie zadań związanych z zarządzaniem i wyszukiwaniem, które można wykonać za pomocą tej klasy.Here's a summary of management and lookup tasks you can perform with this class. Aby uzyskać więcej informacji i przykładów, postępuj zgodnie z linkami do strony odniesienia dla każdej metody lub właściwości.For more information and examples, follow the links to the reference page for each method or property.

DoTo UżycieUse
Dodawanie przestrzeni nazwAdd a namespace AddNamespace, MetodaAddNamespace method
Usuwanie przestrzeni nazwRemove a namespace RemoveNamespace, MetodaRemoveNamespace method
Znajdź identyfikator URI dla domyślnej przestrzeni nazwFind the URI for the default namespace DefaultNamespace WłaściwośćDefaultNamespace property
Znajdź identyfikator URI dla prefiksu przestrzeni nazwFind the URI for a namespace prefix LookupNamespace, MetodaLookupNamespace method
Znajdź prefiks dla identyfikatora URI przestrzeni nazwFind the prefix for a namespace URI LookupPrefix, MetodaLookupPrefix method
Pobierz listę przestrzeni nazw w bieżącym węźleGet a list of namespaces in the current node GetNamespacesInScope, MetodaGetNamespacesInScope method
Określanie zakresu przestrzeni nazwScope a namespace Metody PushScope i PopScopePushScope and PopScope methods
Sprawdź, czy prefiks jest zdefiniowany w bieżącym zakresieCheck whether a prefix is defined in the current scope HasNamespace, MetodaHasNamespace method
Pobierz tabelę nazw służącą do wyszukiwania prefiksów i identyfikatorów URIGet the name table used to look up prefixes and URIs NameTable WłaściwośćNameTable property

Aby dodać przestrzenie nazw do Menedżera przestrzeni nazw, należy utworzyć obiekt XmlNamespaceManager, a następnie użyć metody AddNamespace.To add namespaces to the namespace manager, you create a XmlNamespaceManager object and then use the AddNamespace method. Domyślne pary prefiksów i przestrzeni nazw są automatycznie dodawane do Menedżera przestrzeni nazw podczas tworzenia.Default prefix and namespace pairs are automatically added to the namespace manager on creation.

Podczas tworzenia Menedżera przestrzeni nazw można określić tabelę nazw z klasy XmlReader, XsltContextlub XmlDocument, a następnie użyć metody AddNamespace, aby dodać przestrzenie nazw.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.

Można podać XmlNamespaceManager obiektu jako parametr do metody SelectNodes lub SelectSingleNode klasy XmlDocument, aby wykonać wyrażenia zapytania XPath, które odwołują się do nazw elementów i atrybutów kwalifikowanych przestrzenią nazw.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.

Menedżer przestrzeni nazw zakłada, że prefiksy i przestrzenie nazw zostały już zweryfikowane i są zgodne ze specyfikacją przestrzeni nazw W3C .The namespace manager assumes that prefixes and namespaces have already been verified and conform to the W3C Namespaces specification. Menedżer przestrzeni nazw nie wykonuje żadnych walidacji.The namespace manager does not perform any validation.

Menedżer przestrzeni nazw atomizes ciągi, gdy są dodawane za pomocą metody AddNamespace i gdy wyszukiwanie odbywa się przy użyciu metody LookupNamespace lub LookupPrefix.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.

Menedżer przestrzeni nazw implementuje obsługę wyliczenia oprócz dodawania i pobierania przestrzeni nazw.The namespace manager implements enumeration support in addition to adding and retrieving namespaces. Można przechodzić przez informacje zapisane w Menedżerze przestrzeni nazw za pomocą konstrukcji foreach.You can loop through the information saved in the namespace manager by using the foreach construct. Na przykład jeśli utworzysz Menedżera przestrzeni nazw o nazwie nsmanager, możesz wykonać iterację tabeli przy użyciu foreach (String prefix in nsmanager).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).

Ponieważ Menedżer przestrzeni nazw udostępnia porównanie ciągów z prefiksami i przestrzeniami nazw jako obiektami, istnieje poprawa wydajności podczas korzystania z Menedżera przestrzeni nazw przez bezpośrednie porównanie ciągu.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.

Poniższy przykład kodu pokazuje, jak powiązać prefiks xsd z identyfikatorem URI przestrzeni nazw http://www.w3.org/2001/XMLSchema i dodać go do Menedżera przestrzeni nazw: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");  

Można następnie znaleźć przestrzeń nazw za pomocą metody LookupNamespace:You can then find the namespace by using the LookupNamespace method:

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

Poniższy przykład tworzy XmlNamespaceManager przy użyciu tabeli nazw z czytnika 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)));  
}  

Konstruktory

XmlNamespaceManager(XmlNameTable)

Inicjuje nowe wystąpienie klasy XmlNamespaceManager z określonym XmlNameTable.Initializes a new instance of the XmlNamespaceManager class with the specified XmlNameTable.

Właściwości

DefaultNamespace

Pobiera identyfikator URI przestrzeni nazw dla domyślnej przestrzeni nazw.Gets the namespace URI for the default namespace.

NameTable

Pobiera XmlNameTable skojarzona z tym obiektem.Gets the XmlNameTable associated with this object.

Metody

AddNamespace(String, String)

Dodaje daną przestrzeń nazw do kolekcji.Adds the given namespace to the collection.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
GetEnumerator()

Zwraca moduł wyliczający, który będzie używany do iteracji w przestrzeniach nazw w XmlNamespaceManager.Returns an enumerator to use to iterate through the namespaces in the XmlNamespaceManager.

GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetNamespacesInScope(XmlNamespaceScope)

Pobiera kolekcję nazw nazw z prefiksem, których można użyć do wyliczenia przestrzeni nazw znajdujących się obecnie w zakresie.Gets a collection of namespace names keyed by prefix which can be used to enumerate the namespaces currently in scope.

GetType()

Pobiera Type bieżącego wystąpienia.Gets the Type of the current instance.

(Odziedziczone po Object)
HasNamespace(String)

Pobiera wartość wskazującą, czy dostarczony prefiks ma zdefiniowaną przestrzeń nazw dla bieżącego zakresu wypchnięcia.Gets a value indicating whether the supplied prefix has a namespace defined for the current pushed scope.

LookupNamespace(String)

Pobiera identyfikator URI przestrzeni nazw dla określonego prefiksu.Gets the namespace URI for the specified prefix.

LookupPrefix(String)

Znajduje prefiks zadeklarowany dla danego identyfikatora URI przestrzeni nazw.Finds the prefix declared for the given namespace URI.

MemberwiseClone()

Tworzy skróconą kopię bieżącego Object.Creates a shallow copy of the current Object.

(Odziedziczone po Object)
PopScope()

Punkty nazw poza stosem.Pops a namespace scope off the stack.

PushScope()

Wypchnięcie zakresu przestrzeni nazw na stosie.Pushes a namespace scope onto the stack.

RemoveNamespace(String, String)

Usuwa daną przestrzeń nazw dla danego prefiksu.Removes the given namespace for the given prefix.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)

Metody rozszerzania

Cast<TResult>(IEnumerable)

Rzutuje elementy IEnumerable określonego typu.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtruje elementy IEnumerable w oparciu o określony typ.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Włącza przetwarzanie równoległe zapytania.Enables parallelization of a query.

AsQueryable(IEnumerable)

Konwertuje IEnumerable na IQueryable.Converts an IEnumerable to an IQueryable.

Dotyczy

Zobacz też