XmlNameTable Класс

Определение

Таблица атомизованных строковых объектов.

public ref class XmlNameTable abstract
public abstract class XmlNameTable
type XmlNameTable = class
Public MustInherit Class XmlNameTable
Наследование
XmlNameTable
Производный

Примеры

В следующем примере сравниваются два имена элементов.


// 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()

Комментарии

Несколько классов, таких как XmlDocument и XmlReader, используют XmlNameTable класс внутренне для хранения имен атрибутов и элементов. Если элемент или имя атрибута происходит несколько раз в XML-документе, он хранится только один раз в документе XmlNameTable.

Имена хранятся как типы объектов среды CLR. Это позволяет выполнять сравнение объектов в этих строках, а не более дорогое сравнение строк. Эти строковые объекты называются атомизованными строками.

XmlNameTable реализуется в NameTable классе.

Конструкторы

Имя Описание
XmlNameTable()

Инициализирует новый экземпляр класса XmlNameTable.

Методы

Имя Описание
Add(Char[], Int32, Int32)

При переопределении в производном классе атомизирует указанную строку и добавляет ее в класс XmlNameTable.

Add(String)

При переопределении в производном классе атомизирует указанную строку и добавляет ее в класс XmlNameTable.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
Get(Char[], Int32, Int32)

При переопределении в производном классе получает атомизированную строку, содержащую те же символы, что и указанный диапазон символов в указанном массиве.

Get(String)

При переопределении в производном классе получает атомизированную строку, содержащую то же значение, что и указанная строка.

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к

См. также раздел