Objektvergleich mit "XmlNameTable" im "XmlReader"

Anhand der XmlNameTable-Klasse können die Implementierungen der XmlReader-Klasse bei der Analyse von Daten oder bei Vergleichsoperationen in XML-Dokumenten Zeigervergleiche anstelle von Zeichenfolgenvergleichen verwenden. Diese Tabelle führt beim Vergleichen und Verwenden von Element- und Attributnamen zu einer Leistungssteigerung bei den abgeleiteten Klassen von XmlReader.

Die XmlNameTable-Klasse ist eine abstrakte Basisklasse mit NameTable als Implementierung. Die NameTable enthält atomisierte Versionen von Element- und Attributnamen sowie Namespace-URIs und Präfixe. Wenn die Anwendung viele Namensvergleiche durchführt, kann sie eine NameTable erstellen. Der Benutzer kann die NameTable, die der Reader verwendet, aus der NameTable-Eigenschaft des Readers abrufen. Eine Beschreibung der Atomisierung finden Sie unter XmlNameTable-Klasse.

Die Anwendung kann mit Hilfe der Add-Methode Namen zur Tabelle hinzufügen. Das folgende Codebeispiel veranschaulicht, dass Vergleiche dann mit Hilfe der Equals-Methode oder des ==-Operators durchgeführt werden, welche(r) ermittelt, ob das in dem Methodenaufruf angegebene Objekt die gleiche Instanz ist wie das aktuelle Objekt.

Dim cust As Object = reader.NameTable.Add("Customer")
While reader.Read()
   ' The "if" uses efficient pointer comparison.
   If cust Is reader.Name Then
      ...
   End If
End While

[C#]
object cust = reader.NameTable.Add("Customer");
while (reader.Read())
{
   // The "if" uses efficient pointer comparison.
   if (cust == reader.Name)   
   {
      ...
   }
}

Weitere Informationen zu den Methoden finden Sie unter XmlNameTable-Member.

Siehe auch

Lesen von XML mit dem "XmlReader" | Aktuelle Knotenposition in "XmlReader" | Eigenschafteneinstellungen für "XmlReader" | Lesen von Attributen mit "XmlReader" | Lesen von Element- und Attributinhalten | Überspringen von Inhalten mit "XmlReader" | Lesen und Erweitern von "EntityReference" | Vergleichen von "XmlReader" und SAX-Reader | Lesen von XML-Daten mit "XmlTextReader" | Lesen von Strukturknoten mit dem "XmlNodeReader" | Überprüfen von XML mit "XmlValidatingReader" | Erstellen eines benutzerdefinierten XML-Readers | XmlReader-Klasse | XmlReader-Member | XmlNodeReader-Klasse | XmlNodeReader-Member | XmlTextReader-Klasse | XmlTextReader-Member | XmlValidatingReader-Klasse | XmlValidatingReader