XmlNameTable Classe

Definizione

Tabella di oggetti stringa atomizzati.

public ref class XmlNameTable abstract
public abstract class XmlNameTable
type XmlNameTable = class
Public MustInherit Class XmlNameTable
Ereditarietà
XmlNameTable
Derivato

Esempio

Nell'esempio seguente vengono confrontati due nomi di elemento.


// Add the element names to the NameTable.
NameTable nt = new NameTable();
object book = nt.Add("book");
object title = nt.Add("title");

 // Create a reader that uses the NameTable.
 XmlReaderSettings settings = new XmlReaderSettings();
 settings.NameTable = nt;
 XmlReader reader = XmlReader.Create("books.xml", settings);

 while (reader.Read()) {
    if (reader.NodeType == XmlNodeType.Element) {
      // Cache the local name to prevent multiple calls to the LocalName property.
      object localname = reader.LocalName;

      // Do a comparison between the object references. This just compares pointers.
      if (book == localname) {
          // Add additional processing here.
      }
      // Do a comparison between the object references. This just compares pointers.
      if (title == localname) {
         // Add additional processing here.
      }
    }
 }  // End While

// Close the reader.
reader.Close();
' Add the element names to the NameTable.
Dim nt As New NameTable()
Dim book As Object = nt.Add("book")
Dim title As Object = nt.Add("title")

' Create a reader that uses the NameTable.
Dim settings As New XmlReaderSettings()
settings.NameTable = nt
Dim reader As XmlReader = XmlReader.Create("books.xml", settings)

While reader.Read()
    If reader.NodeType = XmlNodeType.Element Then
        ' Cache the local name to prevent multiple calls to the LocalName property.
        Dim localname As Object = reader.LocalName
        
        ' Do a comparison between the object references. This just compares pointers.
        If book Is localname Then
           ' Add additional processing here.
        End If 
        ' Do a comparison between the object references. This just compares pointers.
        If title Is localname Then
           ' Add additional processing here.
        End If 
    End If
End While 

' Close the reader.
reader.Close()

Commenti

Diverse classi, ad esempio XmlDocument e XmlReader, usano internamente la XmlNameTable classe per archiviare i nomi degli attributi e degli elementi. Quando un nome di elemento o attributo si verifica più volte in un documento XML, viene archiviato una sola volta in XmlNameTable.

I nomi vengono archiviati come tipi di oggetto CLR (Common Language Runtime). In questo modo è possibile eseguire confronti di oggetti su queste stringhe anziché un confronto di stringhe più costoso. Questi oggetti stringa vengono definiti "stringhe atomizzate".

XmlNameTable viene implementato nella NameTable classe .

Costruttori

Nome Descrizione
XmlNameTable()

Inizializza una nuova istanza della classe XmlNameTable.

Metodi

Nome Descrizione
Add(Char[], Int32, Int32)

Quando sottoposto a override in una classe derivata, atomizza la stringa specificata e la aggiunge all'oggetto XmlNameTable.

Add(String)

Quando sottoposto a override in una classe derivata, atomizza la stringa specificata e la aggiunge all'oggetto XmlNameTable.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
Get(Char[], Int32, Int32)

In caso di override in una classe derivata, ottiene la stringa atomizzata contenente gli stessi caratteri dell'intervallo di caratteri specificato nella matrice specificata.

Get(String)

In caso di override in una classe derivata, ottiene la stringa atomizzata contenente lo stesso valore della stringa specificata.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a

Vedi anche