XmlNamespaceManager Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 nsmanager
erstellen, 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. |