API XML/JSON响应和VBA解析它
问题描述:
我有API,它给出了基于带有令牌和符号的构造URL的股票价格,此API返回基于Web并返回<root></root>
中的XML/JSON格式数据及其中的数据。下面是一个例子。API XML/JSON响应和VBA解析它
<root>
<n5323 type="float">31.35</n5323 >
<n3221 type="float">9.06</n3221 >
</root>
我想检索使用VBA(31.35
和9.06
)的价格在Excel中,请帮我在这如何实现。并不是n5323
和n3221
是动态生成的,每次都不相同。
我的VBA代码是如下
Dim strXMLSite As String
Dim objXMLHTTP As MSXML2.XMLHTTP
Dim objXMLDoc As MSXML2.DOMDocument
Dim objXMLNodexbrl As MSXML2.IXMLDOMNode
Dim objXMLNodeDIIRSP As MSXML2.IXMLDOMNode
Set objXMLHTTP = New MSXML2.XMLHTTP
Set objXMLDoc = New MSXML2.DOMDocument
strXMLSite = "http://testserver/volume/daily?token=' + token$ + '&ticker='+Symbol$+'"
objXMLHTTP.Open "POST", strXMLSite, False
objXMLHTTP.send
objXMLDoc.LoadXML (objXMLHTTP.responseText)
Set objXMLNodexbrl = objXMLDoc.SelectSingleNode("root")
Set objXMLNodeDIIRSP = objXMLNodexbrl.SelectSingleNode("root")
Worksheets("Sheet1").Range("J1").Value = objXMLNodeDIIRSP.Text
答
如果你不知道什么节点名称有,你枚举节点。
Dim n As IXMLDOMNode
For Each n In objXMLDoc.documentElement.childNodes
Debug.Print n.nodeName, n.Text
Next
添加对“Microsoft XML,v6.0”的引用,实例化一个DOMDocument和loadXML响应。 – GSerg
你能否把代码snipet放在这里?我已经更新了我的代码在主后... – user5769212
可能重复的[MSXML“系统找不到指定的资源”](http://stackoverflow.com/q/4041687/11683) – GSerg