XmlNameTable Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Tabela de objetos de corda atomizados.
public ref class XmlNameTable abstract
public abstract class XmlNameTable
type XmlNameTable = class
Public MustInherit Class XmlNameTable
- Herança
-
XmlNameTable
- Derivado
Exemplos
O exemplo seguinte compara dois nomes de elementos.
// 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()
Observações
Várias classes, como XmlDocument e XmlReader, usam a XmlNameTable classe internamente para armazenar nomes de atributos e elementos. Quando um nome de elemento ou atributo ocorre várias vezes num documento XML, ele é armazenado apenas uma vez no XmlNameTablearquivo .
Os nomes são armazenados como tipos de objetos em tempo comum de execução (CLR). Isto permite-te fazer comparações de objetos nestas cadeias em vez de uma comparação mais cara. Estes objetos de corda são chamados de "cordas atomizadas".
XmlNameTable é implementado na NameTable classe.
Construtores
| Name | Description |
|---|---|
| XmlNameTable() |
Inicializa uma nova instância da XmlNameTable classe. |
Métodos
| Name | Description |
|---|---|
| Add(Char[], Int32, Int32) |
Quando sobrescrito numa classe derivada, atomiza a cadeia especificada e adiciona-a à |
| Add(String) |
Quando sobrescrito numa classe derivada, atomiza a cadeia especificada e adiciona-a à |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| Get(Char[], Int32, Int32) |
Quando sobrescrito numa classe derivada, obtém a cadeia atomizada contendo os mesmos caracteres que o intervalo especificado de caracteres no array dado. |
| Get(String) |
Quando sobrescrito numa classe derivada, obtém a corda atomizada contendo o mesmo valor da cadeia especificada. |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |