XmlNamespaceManager XmlNamespaceManager XmlNamespaceManager XmlNamespaceManager Class

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.Resolves, adds, and removes namespaces to a collection and provides scope management for these namespaces.

public ref class XmlNamespaceManager : System::Collections::IEnumerable, System::Xml::IXmlNamespaceResolver
public class XmlNamespaceManager : System.Collections.IEnumerable, System.Xml.IXmlNamespaceResolver
type XmlNamespaceManager = class
    interface IXmlNamespaceResolver
    interface IEnumerable
Public Class XmlNamespaceManager
Implements IEnumerable, IXmlNamespaceResolver
Vererbung
XmlNamespaceManagerXmlNamespaceManagerXmlNamespaceManagerXmlNamespaceManager
Abgeleitet
Implementiert

Hinweise

Allgemeine Informationen zum Deklarieren und Verwenden von Namespaces in XML-Dokumenten finden Sie unter Verwalten von Namespaces in einem XML-Dokument.For general information about how namespaces are declared and used in XML documents, see Managing Namespaces in an XML Document.

XmlNamespaceManagerspeichert Präfixe und Namespaces als Zeichen folgen.XmlNamespaceManager stores prefixes and namespaces as strings. Im folgenden finden Sie eine Zusammenfassung der Verwaltungs-und Suchaufgaben, die Sie mit dieser Klasse ausführen können.Here's a summary of management and lookup tasks you can perform with this class. Weitere Informationen und Beispiele finden Sie, indem Sie den Links zur Referenzseite der einzelnen Methoden oder Eigenschaften folgen.For more information and examples, follow the links to the reference page for each method or property.

BeschreibungTo VerwendungUse
Hinzufügen eines NamespacesAdd a namespace AddNamespace-MethodeAddNamespace method
Entfernen eines NamespacesRemove a namespace RemoveNamespace-MethodeRemoveNamespace method
Suchen des URIs für den StandardnamespaceFind the URI for the default namespace DefaultNamespace -EigenschaftDefaultNamespace property
Suchen des URIs für ein NamespacepräfixFind the URI for a namespace prefix LookupNamespace-MethodeLookupNamespace method
Suchen des Präfixes für einen Namespace-URIFind the prefix for a namespace URI LookupPrefix-MethodeLookupPrefix method
Abrufen einer Namespaceliste im aktuellen KnotenGet a list of namespaces in the current node GetNamespacesInScope-MethodeGetNamespacesInScope method
Festlegen des Gültigkeitsbereichs für einen NamespaceScope a namespace Die Methoden PushScope und PopScopePushScope and PopScope methods
Überprüfen, ob im aktuellen Gültigkeitsbereich ein Präfix definiert istCheck whether a prefix is defined in the current scope HasNamespace-MethodeHasNamespace method
Abrufen der Namenstabelle, die für die Suche nach Präfixen und URIs verwendet wirdGet the name table used to look up prefixes and URIs NameTable -EigenschaftNameTable property

Um Namespaces zum Namespace-Manager hinzuzufügen, erstellen Sie XmlNamespaceManager ein-Objekt, und AddNamespace verwenden Sie dann die-Methode.To add namespaces to the namespace manager, you create a XmlNamespaceManager object and then use the AddNamespace method. Dem Namespace-Manager werden beim Erstellen automatisch Standardpaare aus Präfix und Namespace hinzugefügt.Default prefix and namespace pairs are automatically added to the namespace manager on creation.

Wenn Sie den Namespace-Manager erstellen, können Sie eine namens Tabelle aus der XmlReader- XsltContextKlasse, XmlDocument der-Klasse oder der- AddNamespace Klasse angeben und dann die-Methode verwenden, um die Namespaces hinzuzufügen.When you create the namespace manager, you can specify a name table from the XmlReader, XsltContext, or XmlDocument class, and then use the AddNamespace method to add the namespaces.

Sie können das XmlNamespaceManager -Objekt als Parameter für die SelectNodes -oder SelectSingleNode -Methode der XmlDocument -Klasse bereitstellen, um XPath-Abfrage Ausdrücke auszuführen, die auf Namespace qualifizierte Element-und Attributnamen verweisen.You can supply the XmlNamespaceManager object as a parameter to the SelectNodes or SelectSingleNode method of the XmlDocument class to execute XPath query expressions that reference namespace-qualified element and attribute names.

Der Namespace-Manager geht davon aus, dass Präfixe und Namespaces bereits überprüft wurden und der W3C-Spezifikation für Namespaces entsprechen.The namespace manager assumes that prefixes and namespaces have already been verified and conform to the W3C Namespaces specification. Der Namespace-Manager führt keine Validierung aus.The namespace manager does not perform any validation.

Der Namespace-Manager atomisiert die Zeichen folgen, wenn Sie mithilfe der AddNamespace -Methode hinzugefügt werden, und wenn eine Suche mit LookupNamespace der LookupPrefix -Methode oder der-Methode durchgeführt wird.The namespace manager atomizes the strings when they are added by using the AddNamespace method and when a lookup is performed by using the LookupNamespace or LookupPrefix method.

Der Namespace-Manager unterstützt Enumerationen sowie das Hinzufügen und Abrufen von Namespaces.The namespace manager implements enumeration support in addition to adding and retrieving namespaces. Sie können die im Namespace-Manager gespeicherten Informationen mit dem foreach -Konstrukt durchlaufen.You can loop through the information saved in the namespace manager by using the foreach construct. Wenn Sie z. b. einen Namespace-Manager mit dem nsmanagerNamen erstellen, können Sie die Tabelle mithilfe foreach (String prefix in nsmanager)von durchlaufen.For example, if you create a namespace manager with the name nsmanager, you can iterate through the table by using foreach (String prefix in nsmanager).

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.Because the namespace manager provides a string comparison with the prefix and namespaces as objects, there is a performance improvement when using the namespace manager over the direct comparison of a string.

Im folgenden Codebeispiel wird gezeigt, wie das Präfix xsd an den Namespace-URI von http://www.w3.org/2001/XMLSchema gebunden und dem Namespace-Manager hinzugefügt wird:The following code example shows how to bind the prefix xsd with the namespace URI of http://www.w3.org/2001/XMLSchema and add it to the namespace manager:

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

Sie können den Namespace dann mithilfe der LookupNamespace -Methode ermitteln:You can then find the namespace by using the LookupNamespace method:

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

Im folgenden Beispiel wird mithilfe XmlNamespaceManager der Name-Tabelle aus einem XML-Reader ein erstellt:The following example creates an XmlNamespaceManager by using the name table from an XML reader:

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) XmlNamespaceManager(XmlNameTable) XmlNamespaceManager(XmlNameTable) XmlNamespaceManager(XmlNameTable)

Initialisiert eine neue Instanz der XmlNamespaceManager-Klasse mit der angegebenen XmlNameTable.Initializes a new instance of the XmlNamespaceManager class with the specified XmlNameTable.

Eigenschaften

DefaultNamespace DefaultNamespace DefaultNamespace DefaultNamespace

Ruft den Namespace-URI für den Standardnamespace ab.Gets the namespace URI for the default namespace.

NameTable NameTable NameTable NameTable

Ruft die diesem Objekt zugeordnete XmlNameTable ab.Gets the XmlNameTable associated with this object.

Methoden

AddNamespace(String, String) AddNamespace(String, String) AddNamespace(String, String) AddNamespace(String, String)

Fügt der Auflistung den angegebenen Namespace hinzu.Adds the given namespace to the collection.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()

Gibt einen Enumerator für das Durchlaufen der Namespaces im XmlNamespaceManager zurück.Returns an enumerator to use to iterate through the namespaces in the XmlNamespaceManager.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetNamespacesInScope(XmlNamespaceScope) GetNamespacesInScope(XmlNamespaceScope) GetNamespacesInScope(XmlNamespaceScope) 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.Gets a collection of namespace names keyed by prefix which can be used to enumerate the namespaces currently in scope.

GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
HasNamespace(String) HasNamespace(String) HasNamespace(String) 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.Gets a value indicating whether the supplied prefix has a namespace defined for the current pushed scope.

LookupNamespace(String) LookupNamespace(String) LookupNamespace(String) LookupNamespace(String)

Ruft den Namespace-URI für das angegebene Präfix ab.Gets the namespace URI for the specified prefix.

LookupPrefix(String) LookupPrefix(String) LookupPrefix(String) LookupPrefix(String)

Sucht das für den angegebenen Namespace-URI deklarierte Präfix.Finds the prefix declared for the given namespace URI.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
PopScope() PopScope() PopScope() PopScope()

Holt einen Namespacebereich vom Stapel.Pops a namespace scope off the stack.

PushScope() PushScope() PushScope() PushScope()

Legt einen Namespacebereich auf den Stapel.Pushes a namespace scope onto the stack.

RemoveNamespace(String, String) RemoveNamespace(String, String) RemoveNamespace(String, String) RemoveNamespace(String, String)

Entfernt den angegebenen Namespace für das angegebene Präfix.Removes the given namespace for the given prefix.

ToString() ToString() ToString() ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)

Erweiterungsmethoden

Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable)

Wandelt die Elemente eines IEnumerable in den angegebenen Typ umCasts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable)

Filtert die Elemente eines IEnumerable anhand eines angegebenen TypsFilters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

Ermöglicht die Parallelisierung einer Abfrage.Enables parallelization of a query.

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

Konvertiert einen IEnumerable in einen IQueryable.Converts an IEnumerable to an IQueryable.

Gilt für:

Siehe auch