使用VBA查询并将xml属性值解析为XLS

我正在尝试打开/加载在
B2
范围内的Excel工作表中指定的XML文件。然后,搜索
name=FUNCTIONAL_ITEM
的XML属性列表,并获取
">
之后的所有属性值。 在下面的例子中,我想提取出值
8
9
10
<Attribute name="BIN" dataType="String" unit="" multiplier="" tag="LINE,MRPM">1</Attribute>
<Attribute name="FUNCTIONAL_ITEM" dataType="Double" unit="" multiplier="" tag="LINE,LINE DB">8</Attribute>
<Attribute name="FUNCTIONAL_ITEM" dataType="Double" unit="" multiplier="" tag="LINE,LINE DB">9</Attribute>
<Attribute name="FUNCTIONAL_ITEM" dataType="Double" unit="" multiplier="" tag="LINE,LINE DB">10</Attribute>
有人可以指出我正确的方向来实现这一点。     
已邀请:
您需要使用的是XPath。假设你在一个
DomDocument60
对象中有你的XML文档,我们称之为
d
并且你已经声明了一个名为
i
IXMLDOMNodeList
变量,那么使用它:
Set i = d.selectNodes("//Attribute[@name='FUNCTIONAL ITEM']")
然后,您可以遍历
i
中的节点,并从每个节点中提取
text
属性。 这是一个相当简单的演示程序(如果你还没有这样做,你需要通过工具>引用添加对“Microsoft XML,v6.0”的引用):
Sub main()

Dim d As DOMDocument60
Dim i As IXMLDOMNodeList
Dim n As IXMLDOMNode

Set d = New DOMDocument60
d.Load 'file path goes here

Debug.Print "*****"
Set i = d.selectNodes("//Attribute[@name='FUNCTIONAL ITEM']")
For Each n In i
    Debug.Print n.Text
Next n
Debug.Print "*****"

End Sub
    

要回复问题请先登录注册