Freigeben über


XmlNamespaceManager Klasse

Definition

Behebt, fügt Namespaces zu einer Auflistung hinzu und entfernt sie und stellt die Bereichsverwaltung für diese Namespaces bereit.

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. Hier ist eine Zusammenfassung der Verwaltungs- und Nachschlageaufgaben, die Sie mit dieser Klasse ausführen können. Für weitere Informationen und Beispiele folgen Sie den Links zur Referenzseite für jede Methode oder Eigenschaft.

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

Um dem Namespace-Manager Namespaces hinzuzufügen, erstellen Sie ein XmlNamespaceManager Objekt und verwenden dann die AddNamespace Methode. Standardpräfix- und Namespacepaare werden beim Erstellen automatisch dem Namespace-Manager hinzugefügt.

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

Sie können das XmlNamespaceManager Objekt als Parameter für die SelectNodes Klasse bereitstellen, SelectSingleNodeXmlDocument um XPath-Abfrageausdrücke auszuführen, die auf namespacequalifizierte Element- und Attributnamen verweisen.

Der Namespace-Manager geht davon aus, dass Präfixe und Namespaces bereits überprüft wurden 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 ein Nachschlagevorgang mithilfe der LookupNamespace methode LookupPrefix ausgeführt wird.

Der Namespace-Manager implementiert zusätzlich zum Hinzufügen und Abrufen von Namespaces Enumerationsunterstützung. Sie können die im Namespace-Manager gespeicherten Informationen mithilfe des foreach Konstrukts durchlaufen. Wenn Sie z. B. einen Namespace-Manager mit dem Namen nsmanagererstellen, können Sie mithilfe der Tabelle foreach (String prefix in nsmanager)durchlaufen.

Da der Namespace-Manager einen Zeichenfolgenvergleich mit dem Präfix und den Namespaces als Objekte bereitstellt, gibt es eine Leistungsverbesserung beim Verwenden des Namespace-Managers über den direkten Vergleich einer Zeichenfolge.

Das folgende Codebeispiel zeigt, wie das Präfix xsd mit dem Namespace-URI des http://www.w3.org/2001/XMLSchema Namespaces gebunden und dem Namespace-Manager hinzugefügt wird:

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

Name Beschreibung
XmlNamespaceManager(XmlNameTable)

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

Eigenschaften

Name Beschreibung
DefaultNamespace

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

NameTable

Ruft das XmlNameTable diesem Objekt zugeordnete Ab.

Methoden

Name Beschreibung
AddNamespace(String, String)

Fügt der Auflistung den angegebenen Namespace hinzu.

Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetEnumerator()

Gibt einen Enumerator zurück, der zum Durchlaufen der Namespaces in der XmlNamespaceManagerEnumerator verwendet werden soll.

GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetNamespacesInScope(XmlNamespaceScope)

Ruft eine Auflistung von Namespacenamen ab, die nach Präfix schlüsseliert werden, die zum Aufzählen der Namespaces verwendet werden können, die sich derzeit im Bereich befinden.

GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
HasNamespace(String)

Ruft einen Wert ab, der angibt, ob das angegebene Präfix einen Namespace für den aktuellen Pushbereich definiert hat.

LookupNamespace(String)

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

LookupPrefix(String)

Sucht das Präfix, das für den angegebenen Namespace-URI deklariert ist.

MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
PopScope()

Pops a namespace scope off the stack.

PushScope()

Verschiebt 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

Name Beschreibung
AsParallel(IEnumerable)

Aktiviert die Parallelisierung einer Abfrage.

AsQueryable(IEnumerable)

Wandelt eine IEnumerable in eine IQueryableum.

Cast<TResult>(IEnumerable)

Wandelt die Elemente eines IEnumerable in den angegebenen Typ um.

OfType<TResult>(IEnumerable)

Filtert die Elemente einer IEnumerable basierend auf einem angegebenen Typ.

Gilt für:

Weitere Informationen