XmlNameTable Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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 |
| Add(String) |
Quando sottoposto a override in una classe derivata, atomizza la stringa specificata e la aggiunge all'oggetto |
| 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) |