MSXML DOM'sini programlarken contains() XPath işlevini kullanın
Bu makalede, MSXML DOM'unu contains() XPath
programlarken işlevinin nasıl kullanılacağı gösterilmektedir.
Orijinal ürün sürümü: Microsoft XML
Özgün KB numarası: 304265
Özet
Bir XML belgesini yüklemek ve ayrıştırmak için kodda Microsoft XML (MSXML) Belge Nesne Modeli 'ni (DOM) kullandığınızda, verileri belirtilen bir dize değeri veya sözcüğü içeren özniteliklere sahip öğeleri ve/veya öğeleri tanımlamak yaygın bir programlama uygulamasıdır. Bu makalede, bu gereksinimi uygulamak için contains XML Path Language (XPath) dize işlevini nasıl kullanabileceğinizi gösteren bir kod örneği belgelemektedir.
Adım Adım Örnek
Not Defteri'nde, Books.xmladlı yeni bir XML belgesi oluşturun ve aşağıdaki XML'yi yapıştırın:
<?xml version="1.0"?> <!-- This file represents a fragment of a bookstore inventory database --> <bookstore specialty="novel"> <book> <Title>Beginning XML</Title> <Publisher>Wrox</Publisher> </book> <book> <Title>Professional XML</Title> <Publisher>Wrox</Publisher> </book> <book> <Title>Programming ADO</Title> <author> <first-name>Mary</first-name> <last-name>Bob</last-name> </author> <datePublished>1/1/2000</datePublished> <Publisher>Microsoft Press</Publisher> </book> </bookstore>
Books.xml C sürücüsünün kök klasörüne kaydedin.
Microsoft Visual Basic'te yeni bir Standart EXE projesi açın. Form1 varsayılan olarak oluşturulur.
Proje menüsünde Başvurular'a tıklayın ve ardından Microsoft XML 3.0 onay kutusunu seçin.
Komut düğmesini sürükleyin ve Form1'e bırakın.
Komut düğmesinin Click olay yordamına aşağıdaki kodu kopyalayıp yapıştırın:
Dim doc As MSXML2.DOMDocument Dim nlist As MSXML2.IXMLDOMNodeList Dim node As MSXML2.IXMLDOMNode Set doc = New MSXML2.DOMDocument doc.setProperty "SelectionLanguage", "XPath" doc.Load "c:\books.xml" Set nlist = doc.selectNodes("//book/Title[contains(.,'ADO')]") MsgBox "Matching Nodes : " & nlist.length For Each node In nlist Debug.Print node.nodeName & " : " & node.Text Next
Yukarıdaki kod, XML'yi Books.xml'den MSXML DOMDocument nesnesinin bir örneğine yükler. Ardından ADO sözcüğünü
contains XPath
içeren tüm Book başlıklarını tanımlamak için işlevini kullanan bir XPath sorgusu çalıştırır. Son olarak For döngüsü seçilen düğümlerde yinelenir ve XPath sorgusu çalıştırılarak tanımlanan eşleşen başlıkları görüntüler.İşlevin
contains XPath
ilk parametresi, karşılaştırmanın yürütülacağı kaynak düğümü veya dizeyi belirtmek için kullanılır. İkinci parametre, kaynak düğümde aranacak sözcüğü veya dize değerini belirten bir dizedir. contains işlevinin ikinci parametresi olarak sağlanan dizenin veya sözcüğün büyük/küçük harfe duyarlı olduğunu unutmayın.