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.
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. |