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 darüber, wie Namespaces deklariert und in XML-Dokumenten verwendet werden, 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.

XmlNamespaceManager Speichert Präfixe und Namespaces als Zeichenfolgen an.XmlNamespaceManager stores prefixes and namespaces as strings. Hier ist eine Zusammenfassung der Verwaltungs- und Suchaufgaben Aufgaben, die mit dieser Klasse ausgeführt werden 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 dem Namespace-Manager Namespaces hinzuzufügen, erstellen Sie eine XmlNamespaceManager -Objekt und verwenden dann die AddNamespace 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 angeben, dass eine Namenstabelle aus der XmlReader, XsltContext, oder XmlDocument Klasse, und verwenden Sie dann die AddNamespace Methode, 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 angeben, der XmlNamespaceManager Objekt als Parameter an der SelectNodes oder SelectSingleNode -Methode der der XmlDocument Klasse, um die XPath-Abfrageausdrücke auszuführen, die auf namespacequalifizierte Element- und Attributnamen Namen 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 wird davon ausgegangen, dass Präfixe und Namespaces bereits überprüft wurden und entsprechen den W3C-Namespaces Spezifikation.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.The namespace manager does not perform any validation.

Der Namespace-Manager atomisiert die Zeichenfolgen auf, wenn sie mit hinzugefügt werden die AddNamespace -Methode, und wenn eine Suche durchgeführt wird, mithilfe der LookupNamespace oder LookupPrefix Methode.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. Können Sie eine Schleife durch die Informationen, die im Namespace-Manager gespeichert werden, indem die foreach zu erstellen.You can loop through the information saved in the namespace manager by using the foreach construct. Wenn Sie einen Namespace-Manager mit dem Namen erstellen z. B. nsmanager, Sie können in der Tabelle durchlaufen, mit foreach (String prefix in nsmanager).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 veranschaulicht, wie das Präfix gebunden xsd mit dem Namespace-URI des http://www.w3.org/2001/XMLSchema und fügen sie dem Namespace-Manager hinzu: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");  

Finden Sie dann den Namespace mithilfe der LookupNamespace Methode:You can then find the namespace by using the LookupNamespace method:

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

Das folgende Beispiel erstellt eine XmlNamespaceManager mithilfe der Namenstabelle aus einem XML-Reader: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)

Extension Methods

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 eine IEnumerable auf eine IQueryable.Converts an IEnumerable to an IQueryable.

Gilt für:

Siehe auch