XmlNamespaceManager Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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 |