Condividi tramite


XmlNameTable Classe

Definizione

Tabella degli 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 la XmlNameTable classe internamente per archiviare nomi di attributi e elementi. Quando il nome di un elemento o di un attributo ricorre più volte in un documento XML, viene memorizzato una sola volta in XmlNameTable.

I nomi vengono memorizzati come tipi di oggetti CLR (Common Language Runtime). In questo modo è possibile confrontare gli oggetti sulle stringhe invece che eseguire l'operazione più complessa del confronto tra le stringhe. Questi oggetti stringa vengono definiti "stringhe atomizzate".

XmlNameTable viene implementato nella NameTable classe .

Costruttori

XmlNameTable()

Inizializza una nuova istanza della classe XmlNameTable.

Metodi

Add(Char[], Int32, Int32)

Quando sottoposto a override in una classe derivata, suddivide in elementi di base la stringa specificata e la aggiunge alla tabella XmlNameTable.

Add(String)

Quando sottoposto a override in una classe derivata, suddivide in elementi di base la stringa specificata e la aggiunge alla tabella XmlNameTable.

Equals(Object)

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

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

Quando sottoposto a override in una classe derivata, ottiene la stringa suddivisa in elementi di base contenente gli stessi caratteri dell'intervallo di caratteri specificato nella matrice indicata.

Get(String)

Quando sottoposto a override in una classe derivata, ottiene la stringa suddivisa in elementi di base contenente lo stesso valore della stringa specificata.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a

Vedi anche