Aracılığıyla paylaş


XmlNameTable Kullanarak Nesne Karşılaştırma

XmlDocuments, oluşturulduğunda, bu belge için özel olarak oluşturulmuş bir ad tablosuna sahiptir. Belgeye XML yüklendiğinde veya yeni öğeler veya öznitelikler oluşturulduğunda, öznitelik ve öğe adları XmlNameTable'a eklenir. Ayrıca, başka bir belgeden mevcut Bir NameTable kullanarak bir XmlDocument oluşturabilirsiniz. XmlDocuments, XmlNameTable parametresini alan oluşturucuyla oluşturulduğunda, belgenin zaten XmlNameTable'dadepolanan düğüm adlarına, ad alanlarına ve ön eklerine erişimi vardır. Ad tablosunun adlarla nasıl yüklendiğinden bağımsız olarak, adlar tabloda depolandıktan sonra, adlar dize karşılaştırması yerine nesne karşılaştırması kullanılarak hızla karşılaştırılabilir. Dizeler, kullanılarak ad tablosuna Addda eklenebilir. Aşağıdaki kod örneği, oluşturulan bir ad tablosunu ve tabloya eklenen MyString dizesini gösterir. Bundan sonra, bu tablo kullanılarak bir XmlDocument oluşturulur ve Myfile.xml öğesi ve öznitelik adları varolan ad tablosuna eklenir.

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

Aşağıdaki kod örneğinde belgenin oluşturulması, belgeye eklenen iki yeni öğe ve bunları belge adı tablosuna ekleyen öğeler ve adlardaki nesne karşılaştırması gösterilmektedir.

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

İki belge arasında geçirilen bir ad tablosunun yukarıdaki senaryosu, bir e-ticaret sitesindeki XML Şema tanım dili (XSD) şemasına veya belge türü tanımına (DTD) uygun olan ve aynı dizelerin yinelendiği belgeleri sıralama gibi, aynı belge türü art arda işlendiğinde tipiktir. Aynı ad tablosunun kullanılması, birden çok belgede aynı öğe adı oluştuğundan performans artışı sağlar.

Ayrıca bkz.