2012-09-17 32 views
0

我想從Google的Map API中獲取經緯度值。我在Excel中創建IE對象並打開瀏覽器時沒有問題,但我有一段時間瀏覽返回的XML文檔以獲取所需的值。從VBA內導航IE XML文檔?

我已經創建了HTMLDocument,並且該引用似乎是有效的,但我難以理解如何導航它。有沒有辦法獲得整個HTML輸出的字符串?從那我可以得到我需要的東西。

回答

0

使用MSXML - 您需要在Excel VBA IDE的Tools/References中引用Microsoft XML。

您可以從文件(Load)或字符串(LoadXML)加載XML。在我的例子,我從一個文件中加載:

<?xml version="1.0" encoding="utf-8"?> 
<testxml> 
    <tests> 
     <test nr="1">Number 1</test> 
     <test nr="2">Number 2</test> 
     <test nr="3">Number 3</test> 
     <test nr="4">Number 4</test> 
    </tests> 
</testxml> 

VBA來加載文件:

Option Explicit 

Sub TestXML() 
    '***** Declare document 
    Dim oXmlDoc As DOMDocument 
    Dim bRet As Boolean 

    '***** Create empty document 
    Set oXmlDoc = New DOMDocument 

    '***** Load XML from file 
    bRet = oXmlDoc.Load("c:\temp\test.xml") 

    '***** Manipulate XML 
    MsgBox oXmlDoc.Text 
    MsgBox oXmlDoc.XML 
    MsgBox oXmlDoc.SelectSingleNode("//testxml/tests/test[@nr='3']").Text 

    '***** Clean up 
    Set oXmlDoc = Nothing 
End Sub