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


NameTable Класс

Определение

Реализует однопотоковый объект XmlNameTable.

public ref class NameTable : System::Xml::XmlNameTable
public class NameTable : System.Xml.XmlNameTable
type NameTable = class
    inherit XmlNameTable
Public Class NameTable
Inherits XmlNameTable
Наследование
NameTable

Примеры

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

NameTable^ nt = gcnew NameTable;
Object^ book = nt->Add( "book" );
Object^ price = nt->Add( "price" );

// Create the reader.
XmlReaderSettings ^ settings = gcnew XmlReaderSettings;
settings->NameTable = nt;
XmlReader^ reader = XmlReader::Create( (String^)"books.xml", settings );
reader->MoveToContent();
reader->ReadToDescendant( "book" );
if ( System::Object::ReferenceEquals( book, reader->Name ) )
{
   
   // Do additional processing.
}

NameTable nt = new NameTable();
object book = nt.Add("book");
object price = nt.Add("price");

// Create the reader.
XmlReaderSettings settings = new XmlReaderSettings();
settings.NameTable = nt;
XmlReader reader = XmlReader.Create("books.xml", settings);

reader.MoveToContent();
reader.ReadToDescendant("book");

 if (System.Object.ReferenceEquals(book, reader.Name)) {
     // Do additional processing.
 }

   Dim nt As NameTable  = New NameTable()
   Dim book As object = nt.Add("book")
   Dim price As object = nt.Add("price")

   ' Create the reader.
   Dim settings As XmlReaderSettings = New XmlReaderSettings()
   settings.NameTable = nt
   Dim reader As XmlReader = XmlReader.Create("books.xml", settings)

   reader.MoveToContent()
   reader.ReadToDescendant("book")

    If (System.Object.ReferenceEquals(book, reader.Name)) 
        ' Do additional processing.
    End If

Комментарии

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

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

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

NameTable()

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

Методы

Add(Char[], Int32, Int32)

Атомизирует заданную строку и добавляет ее к объекту NameTable.

Add(String)

Атомизирует заданную строку и добавляет ее к объекту NameTable.

Equals(Object)

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

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

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

Get(String)

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

GetHashCode()

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

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

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

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

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

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

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

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

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