2013-11-01 30 views
3

我需要在Excel中打开VBA中的XML文件。我在XML文件中查找的是两个字符串数据,它们是标签。这些字符串可以在多个标签下找到,但我也需要连接它们。动态搜索数据在使用VBA的XML文件中

<Systems> 
    <conveyor ConveyorNumber="132000"> 
    <conveyor>132000</conveyor> 
    <productName>IQ</productName> 
    </conveyor> 
</Systems> 

那里面有更多的数据,但我只需要

<conveyor>132000</conveyor> 

&

<productName>IQ</productName> 

。有多种

<Systems></Systems> 

中的文件,所以我需要计算文件中的系统需要串联两个字符串,并把所有的人都在一列在Excel工作表。无论如何要做到这一点?

回答

3

尝试下面的代码来解析XML文件

Sub parseXML() 

    Dim strPath As String 
    strPath = Application.GetOpenFilename 

    Dim XDoc As Object 
    Set XDoc = CreateObject("MSXML2.DOMDocument") 
    XDoc.async = False 
    XDoc.validateOnParse = False 
    XDoc.Load (strPath) 
    Set xObjDetails = XDoc.ChildNodes(0) 
    Set xObject = xObjDetails.FirstChild 
    For Each xObject In xObjDetails.ChildNodes 
     MsgBox "Child nodes count " & xObjDetails.ChildNodes.Length 
     For Each xChild In xObject.ChildNodes 
      MsgBox xChild.BaseName & " " & xChild.Text 
     Next xChild 
    Next xObject 

End Sub 
+0

是有办法通过选择所需文件做到这一点? – CinCity

+1

@CinCity更新了代码。请刷新。 – Santosh

+1

谢谢。这是很棒的代码! – CinCity