XmlNameTable Classe

Definição

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 à XmlNameTable.

Add(String)

Quando sobrescrito numa classe derivada, atomiza a cadeia especificada e adiciona-a à XmlNameTable.

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)

Aplica-se a

Ver também