filename
とそのchecksum
を含むXmlファイルがあります。私はそのinnerText
を取得したいです。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>
を取得したいと思い ':これはサンプルXMLファイルです。
これはコードです:(それが唯一のすべてのタグを読み込みます)
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/file [checksum = 'somechecksum']/filepath")。InnerText' – PapaBless
まさに! '// file [checksum = 'somechecks um']/filepath'はもっと便利です。 – Tomalak