簡體   English   中英

我如何在VBA Word宏中讀取xml的子級

[英]how I can read child of a xml in VBA word macro

我想知道如何在VBA(Word宏)中讀取“ changeHistory”節點的子級

<?xml version="1.0"?>
<RequirementInfo> 
   <V_CUSTMER>abc</V_CUSTMER> 
   <changeHistory>
        <ver>
            <versionNo>1.0</versionNo>
            <vDate>12/11/2010</vDate>
            <desc>desc1</desc>
        </ver>
        <ver>
            <versionNo>2.0</versionNo>
            <vDate>12/11/2011</vDate>
            <desc>desc2</desc>
        </ver>
        <ver>
            <versionNo>3.0</versionNo>
            <vDate>12/11/2012</vDate>
            <desc>desc3</desc>
        </ver>
   </changeHistory>
</RequirementInfo>

我正在使用下面的代碼讀取根節點,但我不知道該如何使用子節點。

For Each curNode In xmlDoc.ChildNodes
    If curNode.NodeType = 1 Then  ' only look at type=NODE_ELEMENT
              For I = 1 To curNode.ChildNodes.Length
                nodeName = curNode.ChildNodes(I - 1).nodeName
                nodeText = curNode.ChildNodes(I - 1).Text
                Debug.Print nodeName
                If nodeName = "changeHistory" Then


                Else
                    ActiveDocument.FormFields(nodeName).Result = nodeText
                End If
            Next
       End If
Next

XPath是在XML文檔中定位節點的工具。

selectSingleNode()selectNodes()是允許您使用XPath的DOM API函數。

例如:

Set ver = xmlDoc.selectSingleNode("//changeHistory/ver[versionNo = '1.0']")

For Each detail In ver.selectNodes("*")
    ActiveDocument.FormFields(detail.nodeName).Result = detail.text
Next detail

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM