2012-10-11 76 views
1

我想通過使用VBA讀取XML文件的一個或兩個嵌套節點的值。 (我嘗試使用DOM(MSXML.DOMDocument)。)使用DOM與VBA讀取特定的XML嵌套節點

例如,我想從以下XML中確定/szamla/fejlec/elado/nev/節點的值爲「Budapesti ElektromosMűvekNyrt」。

<?xml version="1.0" encoding="ISO-8859-2" ?> 
<szamla szamkor="000000200267" szafaz="800101068670" feldolgazon="35245830" 
    ugyfelaz="2200502333"> 
<fejlec> 
<elado> 
<nev>Budapesti Elektromos Művek Nyrt.</nev> 
<adoszam>10768033-2-44</adoszam> 
<cim> 
<orszag>Magyarország</orszag> 
<telepules>Budapest</telepules> 
<irszam>1132</irszam> 
<kozternev>Váci út 72-74.</kozternev> 
</cim> 
</elado> 
... 

<szamla szamkor="000000200267" szafaz="800101068670" feldolgazon="35245830" 
    ugyfelaz="2200502333"> 

這似乎是非常基本的,但我一直無法想象如何做幾個小時。

+1

你如何閱讀code/text/xml?你試過什麼了? – SeanC

回答

2

試試這個,看看它給你的任何想法

Sub thing() 

    Dim xmldoc As MSXML2.DOMDocument 
    Set xmldoc = New MSXML2.DOMDocument 

    xmldoc.loadXML "<one><two><three><four></four></three></two></one>" 
    MsgBox xmldoc.selectSingleNode("/one/two/three/four").nodeName 

End Sub 

參考是Microsoft XML, v4.0。對我來說,這是位於C:\ WINNT \ system32 \ msxml4.dll。

+1

'.nodeName'將返回你已經知道的「4」,因爲節點中的文本使用'.Text' – KekuSemau