Прочитать на английском

Поделиться через


XmlNameTable Класс

Определение

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

public abstract 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();

Комментарии

Несколько классов, таких как 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)

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

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