Bagikan melalui


Perbandingan Objek Menggunakan XmlNameTable

XmlDocuments, saat dibuat, memiliki tabel nama yang dibuat khusus untuk dokumen tersebut. Saat XML dimuat ke dalam dokumen, atau elemen atau atribut baru dibuat, nama atribut dan elemen dimasukkan ke dalam XmlNameTable. Anda juga dapat membuat XmlDocument menggunakan NameTable yang sudah ada dari dokumen lain. Saat XmlDocuments dibuat dengan konstruktor yang mengambil parameter XmlNameTable , dokumen memiliki akses ke nama simpul, namespace, dan awalan yang sudah disimpan di XmlNameTable. Terlepas dari bagaimana tabel nama dimuat dengan nama, setelah nama disimpan dalam tabel, nama dapat dibandingkan dengan cepat menggunakan perbandingan objek alih-alih perbandingan string. String juga dapat ditambahkan ke tabel nama menggunakan Add. Sampel kode berikut menunjukkan tabel nama yang sedang dibuat dan string MyString ditambahkan ke tabel. Setelah itu, XmlDocument dibuat menggunakan tabel tersebut, dan elemen dan nama atribut di Myfile.xml ditambahkan ke tabel nama yang ada.

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");  

Contoh kode berikut menunjukkan pembuatan dokumen, dua elemen baru yang ditambahkan ke dokumen, yang juga menambahkannya ke tabel nama dokumen, dan perbandingan objek pada nama.

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))  
{ ...  

Skenario di atas dari tabel nama yang diteruskan di antara dua dokumen biasanya ketika jenis dokumen yang sama sedang diproses berulang kali, seperti dokumen pesanan di situs e-niaga, yang sesuai dengan skema bahasa definisi Skema XML (XSD) atau definisi jenis dokumen (DTD) dan string yang sama diulang. Menggunakan tabel nama yang sama memberikan peningkatan performa, karena nama elemen yang sama terjadi di beberapa dokumen.

Lihat juga