小编yoz*_*234的帖子

Excel VBA从XML获取特定节点

我有一个来自URL API的XML文件(我没有共享的URL,因为它允许访问安全信息).从这个文件我想得到一些信息.我的问题是,一旦我在父节点(eventNode),我想简单地能够从特定的子节点获取数据.

例如,如果是eventNode <event><ID>1</ID>...<title>event 1</title></event>,我将如何1知道节点名称ID(或我想要提取的任何其他值)?

我通过论坛看了很多,但.SelectSingleNode没给我运气.也.selectNodes不会像XML字符串中的正常节点列表那样行事.我不知道这是否是由于我用来解析我的XML文件的方法.

Sub ListEvents()

Dim strPath As String

strPath = getAPI("GetEvents", "filter=&orderBy=")

Dim xmlDocument As MSXML2.DOMDocument60
Set xmlDocument = New DOMDocument60

With CreateObject("MSXML2.XMLHTTP")
    .Open "GET", strPath, False
    .send
    xmlDocument.LoadXML .responseText
End With

Dim lvl1 As IXMLDOMNode: Dim lvl2 As IXMLDOMNode
Dim eventNode As IXMLDOMNode: Dim isNode As IXMLDOMNode

For Each lvl1 In xmlDocument.ChildNodes
    For Each lvl2 In lvl1.ChildNodes
        For Each eventNode In lvl2.ChildNodes
            If eventNode.HasChildNodes Then
                'Here …
Run Code Online (Sandbox Code Playgroud)

xml excel vba ixmldomnode

9
推荐指数
2
解决办法
5万
查看次数

标签 统计

excel ×1

ixmldomnode ×1

vba ×1

xml ×1