我曾經和一個包含filename
及其checksum
XML文件。我想獲得它的innerText
。這是示例XML文件:XML文件中搜索,並得到兄弟節點
<?xml version="1.0" encoding="utf-8"?>
<FileChecksums>
<file>
<filepath>930cdc93-5df2-4262-ba31-824e83404a2c.jpg</filepath>
<checksum>C4D9F0D47FF88130ABF0DA3C5351D71938C705F6602AE412D946AD5C74850837</checksum>
</file>
<file>
<filepath>7dd01bb9-3f35-442c-8840-1540632973f3.png</filepath>
<checksum>27EA8D4378DC8DB92F3D9ADA887E124BECAED47816FD3FFE49A4027362AF0FDC</checksum>
</file>
</FileChecksums>
如果有一場比賽在<checksum>
的內心的文字,我想獲得相應的<filepath>
的內部文本。
這是代碼:(它只會讀取所有標籤)
Private Sub LocateFromChecksum(chksum As String)
Dim xmlDoc As New XmlDocument()
xmlDoc.Load("checksum.xml")
'search here?
For Each node As XmlNode In xmlDoc.DocumentElement.SelectSingleNode("checksum")
Debug.WriteLine(node.InnerText)
Next
End Sub
你想看看XPath。您不需要編寫任何循環來從XML文檔中選擇某個節點。 – Tomalak
@Tomalak所以這樣嗎?'doc.SelectNode( 「FileChecksums /文件[校驗= 'somechecksum'] /文件路徑」)。InnerText' – PapaBless
沒錯! '//文件[checksum ='somechecks um']/filepath'會更方便一些。 – Tomalak