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^ 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() |
Инициализирует новый экземпляр класса |
Методы
Add(Char[], Int32, Int32) |
Атомизирует заданную строку и добавляет ее к объекту |
Add(String) |
Атомизирует заданную строку и добавляет ее к объекту |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
Get(Char[], Int32, Int32) |
Получает атомизированную строку, содержащую те же символы, что и заданный диапазон символов в данном массиве. |
Get(String) |
Получает атомизированную строку с заданным значением. |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |