2016-03-06 112 views
0

我有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.359.06)的價格在Excel中,請幫我在這如何實現。並不是n5323n3221是動態生成的,每次都不相同。

我的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 
+0

添加對「Microsoft XML,v6.0」的引用,實例化一個DOMDocument和loadXML響應。 – GSerg

+0

你能否把代碼snipet放在這裏?我已經更新了我的代碼在主後... – user5769212

+0

可能重複的[MSXML「系統找不到指定的資源」](http://stackoverflow.com/q/4041687/11683) – GSerg

回答

0

如果你不知道什麼節點名稱有,你枚舉節點。

Dim n As IXMLDOMNode 
For Each n In objXMLDoc.documentElement.childNodes 
    Debug.Print n.nodeName, n.Text 
Next