Freigeben über


XmlNamespaceManager Klasse

Definition

Löst Namespaces auf, fügt sie einer Auflistung hinzu bzw. entfernt sie daraus und ermöglicht die Verwaltung der Gültigkeitsbereiche dieser 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
Vererbung
XmlNamespaceManager
Abgeleitet
Implementiert

Hinweise

Allgemeine Informationen dazu, wie Namespaces in XML-Dokumenten deklariert und verwendet werden, finden Sie unter Verwalten von Namespaces in einem XML-Dokument.

XmlNamespaceManager speichert Präfixe und Namespaces als Zeichenfolgen. Nachfolgend finden Sie eine Zusammenfassung der Verwaltungs- und Nachschlageaufgaben, die Sie mit dieser Klasse ausführen können. Weitere Informationen und Beispiele finden Sie, indem Sie den Links zur Referenzseite der einzelnen Methoden oder Eigenschaften folgen.

Beschreibung Verwendung
Hinzufügen eines Namespaces AddNamespace-Methode
Entfernen eines Namespaces RemoveNamespace-Methode
Suchen des URIs für den Standardnamespace DefaultNamespace -Eigenschaft
Suchen des URIs für ein Namespacepräfix LookupNamespace-Methode
Suchen des Präfixes für einen Namespace-URI LookupPrefix-Methode
Abrufen einer Namespaceliste im aktuellen Knoten GetNamespacesInScope-Methode
Festlegen des Gültigkeitsbereichs für einen Namespace Die Methoden PushScope und PopScope
Überprüfen, ob im aktuellen Gültigkeitsbereich ein Präfix definiert ist HasNamespace-Methode
Abrufen der Namenstabelle, die für die Suche nach Präfixen und URIs verwendet wird NameTable -Eigenschaft

Zum Hinzufügen von Namespaces zum Namespace-Manager erstellen Sie ein XmlNamespaceManager Objekt und verwenden dann die AddNamespace Methode. Dem Namespace-Manager werden beim Erstellen automatisch Standardpaare aus Präfix und Namespace hinzugefügt.

Wenn Sie den Namespace-Manager erstellen, können Sie eine Namenstabelle aus dem XmlReader, XsltContextoder XmlDocument der Klasse angeben und dann die AddNamespace Methode verwenden, um die Namespaces hinzuzufügen.

Sie können das Objekt als Parameter für die XmlNamespaceManager SelectNodes SelectSingleNode Ausführung von XmlDocument XPath-Abfrageausdrücken bereitstellen, die auf namespacequalifizierte Element- und Attributnamen verweisen.

Der Namespace-Manager geht davon aus, dass Präfixe und Namespaces bereits überprüft und der W3C-Namespaces-Spezifikation entsprechen. Der Namespace-Manager führt keine Überprüfung durch.

Der Namespace-Manager atomisiert die Zeichenfolgen, wenn sie mithilfe der AddNamespace Methode hinzugefügt werden, und wenn eine Nachschlagevorgang mithilfe der LookupNamespace Methode LookupPrefix ausgeführt wird.

Der Namespace-Manager unterstützt Enumerationen sowie das Hinzufügen und Abrufen von Namespaces. Mithilfe des Konstrukts können Sie die im Namespace-Manager foreach gespeicherten Informationen durchlaufen. Wenn Sie beispielsweise einen Namespace-Manager mit dem Namen nsmanagererstellen, können Sie mithilfe foreach (String prefix in nsmanager)der Tabelle durchlaufen.

Da der Namespace-Manager einen Zeichenfolgenvergleich mit dem Präfix und den Namespaces als Objekte bereitstellt, kann durch Verwendung des Namespace-Managers anstelle des direkten Zeichenfolgenvergleichs eine Leistungssteigerung erzielt werden.

Das folgende Codebeispiel zeigt, wie Sie das Präfix xsd mit dem Namespace-URI http://www.w3.org/2001/XMLSchema des Namespaces binden und dem Namespace-Manager hinzufügen:

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

Anschließend können Sie den Namespace mithilfe der LookupNamespace Methode finden:

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

Im folgenden Beispiel wird eine XmlNamespaceManager mithilfe der Namenstabelle aus einem XML-Reader erstellt:

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)));  
}  

Konstruktoren

XmlNamespaceManager(XmlNameTable)

Initialisiert eine neue Instanz der XmlNamespaceManager-Klasse mit der angegebenen XmlNameTable.

Eigenschaften

DefaultNamespace

Ruft den Namespace-URI für den Standardnamespace ab.

NameTable

Ruft die dem Objekt zugeordnete XmlNameTable ab.

Methoden

AddNamespace(String, String)

Fügt der Auflistung den angegebenen Namespace hinzu.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetEnumerator()

Gibt einen Enumerator für das Durchlaufen der Namespaces im XmlNamespaceManager zurück.

GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetNamespacesInScope(XmlNamespaceScope)

Ruft eine Auflistung von Namen sortiert nach Präfix ab, mit der die aktuell im Gültigkeitsbereich vorhanden Namespaces durchlaufen werden können.

GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
HasNamespace(String)

Ruft einen Wert ab, der angibt, ob für das angegebene Präfix ein Namespace für den aktuellen abgelegten Gültigkeitsbereich definiert ist.

LookupNamespace(String)

Ruft den Namespace-URI für das angegebene Präfix ab.

LookupPrefix(String)

Sucht das für den angegebenen Namespace-URI deklarierte Präfix.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
PopScope()

Holt einen Namespacebereich vom Stapel.

PushScope()

Legt einen Namespacebereich auf den Stapel.

RemoveNamespace(String, String)

Entfernt den angegebenen Namespace für das angegebene Präfix.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Erweiterungsmethoden

Cast<TResult>(IEnumerable)

Wandelt die Elemente eines IEnumerable in den angegebenen Typ um

OfType<TResult>(IEnumerable)

Filtert die Elemente eines IEnumerable anhand eines angegebenen Typs

AsParallel(IEnumerable)

Ermöglicht die Parallelisierung einer Abfrage.

AsQueryable(IEnumerable)

Konvertiert einen IEnumerable in einen IQueryable.

Gilt für

Siehe auch