Udostępnij za pośrednictwem


XmlNamespaceManager Klasa

Definicja

Rozpoznaje, dodaje i usuwa przestrzenie nazw do kolekcji oraz zapewnia zarządzanie zakresem dla tych przestrzeni nazw.

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 o tym, jak przestrzenie nazw są deklarowane i używane w dokumentach XML, zobacz Zarządzanie przestrzeniami nazw w dokumencie XML.

XmlNamespaceManager przechowuje prefiksy i przestrzenie nazw jako ciągi. Oto podsumowanie zadań zarządzania i wyszukiwania, które można wykonać za pomocą tej klasy. Aby uzyskać więcej informacji i przykładów, skorzystaj z linków do strony referencyjnej dla każdej metody lub właściwości.

Działanie Zastosowanie
Dodawanie przestrzeni nazw Metoda AddNamespace
Usuwanie przestrzeni nazw Metoda RemoveNamespace
Znajdź identyfikator URI domyślnej przestrzeni nazw DefaultNamespace Właściwość
Znajdowanie identyfikatora URI dla prefiksu przestrzeni nazw Metoda LookupNamespace
Znajdowanie prefiksu identyfikatora URI przestrzeni nazw Metoda LookupPrefix
Pobieranie listy przestrzeni nazw w bieżącym węźle Metoda GetNamespacesInScope
Określanie zakresu przestrzeni nazw PushScopemetody i PopScope
Sprawdzanie, czy prefiks jest zdefiniowany w bieżącym zakresie Metoda HasNamespace
Pobieranie tabeli nazw używanej do wyszukiwania prefiksów i identyfikatorów URI NameTable Właściwość

Aby dodać przestrzenie nazw do menedżera przestrzeni nazw, należy utworzyć XmlNamespaceManager obiekt, a następnie użyć AddNamespace metody . Domyślne pary prefiksów i przestrzeni nazw są automatycznie dodawane do menedżera przestrzeni nazw podczas tworzenia.

Podczas tworzenia menedżera przestrzeni nazw można określić tabelę nazw z XmlReaderklasy , XsltContextlub XmlDocument , a następnie użyć AddNamespace metody , aby dodać przestrzenie nazw.

Obiekt można podać XmlNamespaceManager jako parametr do SelectNodes metody XmlDocument lub SelectSingleNode klasy w celu wykonywania wyrażeń zapytań XPath odwołujących się do kwalifikowanych elementów przestrzeni nazw i nazw atrybutów.

Menedżer przestrzeni nazw zakłada, że prefiksy i przestrzenie nazw zostały już zweryfikowane i zgodne ze specyfikacją przestrzeni nazw W3C . Menedżer przestrzeni nazw nie wykonuje żadnej walidacji.

Menedżer przestrzeni nazw atomizuje ciągi podczas ich dodawania przy użyciu AddNamespace metody i gdy wyszukiwanie jest wykonywane przy użyciu LookupNamespace metody or LookupPrefix .

Menedżer przestrzeni nazw implementuje obsługę wyliczania oprócz dodawania i pobierania przestrzeni nazw. Informacje zapisane w menedżerze przestrzeni nazw można wykonywać w pętli przy użyciu foreach konstrukcji . Jeśli na przykład utworzysz menedżera przestrzeni nazw o nazwie nsmanager, możesz wykonać iterację po tabeli przy użyciu polecenia foreach (String prefix in nsmanager).

Ponieważ menedżer przestrzeni nazw zapewnia porównanie ciągów z prefiksem i przestrzeniami nazw jako obiektami, podczas korzystania z menedżera przestrzeni nazw w bezpośrednim porównaniu ciągu występuje poprawa wydajności.

Poniższy przykład kodu pokazuje, jak powiązać prefiks xsd z identyfikatorem URI http://www.w3.org/2001/XMLSchema przestrzeni nazw i dodać go do menedżera przestrzeni nazw:

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

Następnie możesz znaleźć przestrzeń nazw przy użyciu LookupNamespace metody :

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

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

Konstruktory

XmlNamespaceManager(XmlNameTable)

Inicjuje XmlNamespaceManager nowe wystąpienie klasy z określonym XmlNameTableelementem .

Właściwości

DefaultNamespace

Pobiera identyfikator URI przestrzeni nazw dla domyślnej przestrzeni nazw.

NameTable

XmlNameTable Pobiera obiekt skojarzony z tym obiektem.

Metody

AddNamespace(String, String)

Dodaje daną przestrzeń nazw do kolekcji.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetEnumerator()

Zwraca moduł wyliczający używany do iterowania po przestrzeniach nazw w obiekcie XmlNamespaceManager.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetNamespacesInScope(XmlNamespaceScope)

Pobiera kolekcję nazw przestrzeni nazw kluczy według prefiksu, który może służyć do wyliczania przestrzeni nazw aktualnie w zakresie.

GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
HasNamespace(String)

Pobiera wartość wskazującą, czy podany prefiks ma przestrzeń nazw zdefiniowaną dla bieżącego wypchniętego zakresu.

LookupNamespace(String)

Pobiera identyfikator URI przestrzeni nazw dla określonego prefiksu.

LookupPrefix(String)

Znajduje prefiks zadeklarowany dla danego identyfikatora URI przestrzeni nazw.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
PopScope()

Wyskakuje zakres przestrzeni nazw poza stosem.

PushScope()

Wypycha zakres przestrzeni nazw do stosu.

RemoveNamespace(String, String)

Usuwa daną przestrzeń nazw dla danego prefiksu.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Metody rozszerzania

Cast<TResult>(IEnumerable)

Rzutuje elementy obiektu IEnumerable na określony typ.

OfType<TResult>(IEnumerable)

Filtruje elementy IEnumerable elementu na podstawie określonego typu.

AsParallel(IEnumerable)

Umożliwia równoległość zapytania.

AsQueryable(IEnumerable)

Konwertuje element IEnumerable na .IQueryable

Dotyczy

Zobacz też