Udostępnij za pośrednictwem


XmlNamespaceManager Klasa

Definicja

Rozpoznaje, dodaje i usuwa przestrzenie nazw do kolekcji i 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. Poniżej przedstawiono 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.

Do Użyj
Dodawanie przestrzeni nazw Metoda AddNamespace
Usuń przestrzeń nazw Metoda RemoveNamespace
Znajdź identyfikator URI domyślnej przestrzeni nazw DefaultNamespace własność
Znajdowanie identyfikatora URI dla prefiksu przestrzeni nazw Metoda LookupNamespace
Znajdowanie prefiksu identyfikatora URI przestrzeni nazw Metoda LookupPrefix
Uzyskaj listę przestrzeni nazw w bieżącym węźle Metoda GetNamespacesInScope
Określanie zakresu przestrzeni nazw metody PushScope i PopScope
Sprawdź, 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łasność

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 kwalifikowanego elementu 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 tworzyć w pętli przy użyciu foreach konstrukcji. Jeśli na przykład utworzysz menedżera przestrzeni nazw o nazwie nsmanager, możesz iterować tabelę 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 przypadku bezpośredniego porównania 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 nazw 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

Nazwa Opis
XmlNamespaceManager(XmlNameTable)

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

Właściwości

Nazwa Opis
DefaultNamespace

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

NameTable

XmlNameTable Pobiera obiekt skojarzony z tym obiektem.

Metody

Nazwa Opis
AddNamespace(String, String)

Dodaje daną przestrzeń nazw do kolekcji.

Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.

(Odziedziczone po Object)
GetEnumerator()

Zwraca moduł wyliczający, który ma być używany do iterowania przez przestrzenie 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óra może służyć do wyliczania przestrzeni nazw aktualnie w zakresie.

GetType()

Pobiera Type 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 Object.

(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

Nazwa Opis
AsParallel(IEnumerable)

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

AsQueryable(IEnumerable)

Konwertuje IEnumerable na IQueryable.

Cast<TResult>(IEnumerable)

Rzutuje elementy IEnumerable do określonego typu.

OfType<TResult>(IEnumerable)

Filtruje elementy IEnumerable na podstawie określonego typu.

Dotyczy

Zobacz też