初識 XML 的結構

假設,有一 XML 檔案(MENU_CHT.xml) 內容如下:
-----------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<MENU>
  <A prgkey="BA" caption="基礎工程" enable="true">
    <A1 prgkey="PB" caption="公用資料" enable="true">
    …
    </A1>
  </A>
  … (含 A 元素,共有 21個子元素)

</MENU>
-----------------------------------------------------------

使用 VBA 程式來讀取,各式指令將取得不同的結果值,要注意哦

    Set XMLDoc = New MSXML2.DOMDocument
    strFileXML = ActiveWorkbook.Path & "\" & "MENU_CHT.xml"
    intState = XMLDoc.Load(strFileXML)      ' intState 數值說明; (-1) 成功
    If intState Then                                  'MsgBox "讀取 XML 成功"
        Set xFirst = XMLDoc.FirstChild
'        MsgBox xFirst.nodeName              ==> xml
'
        Set xRoot = XMLDoc.documentElement
'        MsgBox xRoot.nodeName             ==> MENU

'        MsgBox XMLDoc.childNodes        ==> 2
'        MsgBox xRoot.childNodes           ==> 21

        For i = 1 To Level1nodes.Length 
            ' 取得元素內容
            Set Level1node = Level1nodes.NextNode
'            MsgBox Level1node.nodeName

            ' 取得屬性內容
            Set Level1Attr = Level1node.Attributes
            'MsgBox Level1Attr.Length

            For a = 1 To Level1Attr.Length
                Set nodeAttr = Level1Attr.Item(a - 1)
'                MsgBox nodeAttr.nodeName & " -- " & nodeAttr.Text
'                nodeAttr.nodeName             ==>  prgkey
'                nodeAttr.Text                      ==>  BA
                strAttr = strAttr & nodeAttr.Text & vbTab
            Next
        Next i

沒有留言: