Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
XmlDocuments, wenn erstellt, haben eine Speziell für dieses Dokument erstellte Namenstabelle. Wenn XML in das Dokument geladen wird oder neue Elemente oder Attribute erstellt werden, werden die Attribut- und Elementnamen in die XmlNameTable eingefügt. Sie können auch ein XmlDocument mit einer vorhandenen NameTable aus einem anderen Dokument erstellen. Wenn XmlDocuments mit dem Konstruktor erstellt werden, der einen XmlNameTable-Parameter verwendet, hat das Dokument Zugriff auf die Knotennamen, Namespaces und Präfixe, die bereits in der XmlNameTable gespeichert sind. Unabhängig davon, wie die Namenstabelle mit Namen geladen wird, können Namen, sobald die Namen in der Tabelle gespeichert sind, schnell mithilfe des Objektvergleichs verglichen werden, anstatt mit einem Zeichenfolgenvergleich. Zeichenfolgen können mithilfe der Add auch der Namenstabelle hinzugefügt werden. Das folgende Codebeispiel zeigt eine Nametabelle, die erstellt wird, und die Zeichenfolge "MyString ", die der Tabelle hinzugefügt wird. Danach wird ein XmlDocument mit dieser Tabelle erstellt, und die Element- und Attributnamen in Myfile.xml werden der vorhandenen Namenstabelle hinzugefügt.
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");
Das folgende Codebeispiel zeigt die Erstellung eines Dokuments, zwei neue Elemente, die dem Dokument hinzugefügt werden, wodurch sie auch der Dokumentnamentabelle hinzugefügt werden, und der Objektvergleich für die Namen.
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))
{ ...
Das obige Szenario einer zwischen zwei Dokumenten übergebenen Namenstabelle ist typisch, wenn derselbe Dokumenttyp wiederholt verarbeitet wird, z. B. Bestelldokumente auf einer E-Commerce-Website, die einem XSD-Schemaschema oder einer Dokumenttypdefinition (Document Type Definition, DTD) entsprechen und dieselben Zeichenfolgen wiederholt werden. Die Verwendung derselben Namenstabelle bietet eine Leistungsverbesserung, da derselbe Elementname in mehreren Dokumenten auftritt.