2012-09-24 62 views
0

在Excel2003中,我試圖從雅虎財務中檢索一些內容。使用Excel檢索網站xml

我有一個非常簡單的子至今:

Public Sub test(BaseRange As Range) 

    Dim xmlObject As New MSXML2.XMLHTTP60 
    Dim xmlDoc As New MSXML2.DOMDocument 

    With xmlObject 
     Call .Open("GET", "http://biz.yahoo.com/research/earncal/20110923.html", False) 
     Call .send 
    End With 


    With ActiveSheet.Range("F2") 
     .Value = xmlObject.responseXML.XML 
    End With 

End Sub 

子無誤的執行和xmlObject.responseText似乎包含頁面HTML文本,但xmlObject.responseXml.XML是空的。除了反響的文字,一切都是空的。

缺少什麼我在這裏?

+2

如果服務器返回一個XML響應有隻在responseXML的內容。看起來像你的URL返回HTML而不是XML。 –

+0

啊,我明白了。我認爲XML是從html內容生成的。謝謝。如果你把這個評論作爲答案,我會接受它。 –

回答

1

如果服務器返回的XML這裏只有在responseXML的內容響應。看起來像你的URL返回HTML而不是XML。

0

這就是我用於ECB匯率的東西。

Sub ecb_fx() 
ActiveWorkbook.XMLIMPORT url:= _ 

     "https://www.ecb.europa.eu/stats/eurofxref/eurofxref-hist.xml", ImportMap:=Nothing, _ 
     Overwrite:=True, Destination:=Range("$B$6") 
End Sub