Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
При создании XmlDocuments создается таблица имен, созданная специально для этого документа. Когда XML загружается в документ, или создаются новые элементы или атрибуты, имена атрибутов и элементов помещаются в XmlNameTable. Вы также можете создать XmlDocument с помощью существующей записи NameTable из другого документа. При создании XmlDocuments с помощью конструктора, принимающего параметр XmlNameTable , документ имеет доступ к именам узлов, пространствам имен и префиксам, уже хранящимся в XmlNameTable. Независимо от того, как таблица имен загружается с именами, как только имена хранятся в таблице, имена можно быстро сравнивать с помощью сравнения объектов вместо сравнения строк. Строки также можно добавить в таблицу имен с помощью Add. В следующем примере кода показана созданная таблица имен и строка MyString , добавляемая в таблицу. После этого xmlDocument создается с помощью этой таблицы, а имена элементов и атрибутов в Myfile.xml добавляются в существующую таблицу имен.
Dim nt As New NameTable()
nt.Add("MyString")
Dim doc As New XmlDocument(nt)
doc.Load("Myfile.xml")
NameTable nt = new NameTable();
nt.Add("MyString");
XmlDocument doc = new XmlDocument(nt);
doc.Load("Myfile.xml");
В следующем примере кода показано создание документа, два новых элемента, добавляемых в документ, который также добавляет их в таблицу имен документа и сравнение объектов по именам.
Dim doc1 As XmlDocument = imp.CreateDocument()
Dim node1 As XmlElement = doc.CreateElement("node1")
Dim doc2 As XmlDocument = imp.CreateDocument()
Dim node2 As XmlElement = doc.CreateElement("node2")
if (CType(node1.Name, object) = CType(node2.Name, object))
XmlDocument doc1 = imp.CreateDocument();
node1 = doc1.CreateElement ("node1");
XmlDocument doc2 = imp.CreateDocument();
node2 = doc2.CreateElement ("node1");
if (((object)node1.Name) == ((object)node2.Name))
{ ...
Приведенный выше сценарий таблицы имен, передаваемой между двумя документами, обычно используется при повторной обработке одного типа документа, например документов заказа на сайте электронной коммерции, которые соответствуют схеме XSD или определению типа документа (DTD), а те же строки повторяются. Использование одной и той же таблицы имен улучшает производительность, так как одно и то же имя элемента встречается в нескольких документах.