![](/img/trans.png)
[英]How can I rewrite the following MS Word VBA macro to be compatible with Word 2007/2010/2013
[英]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.