【XML、HTML的XPath定位模块】

参考下面范例

Sub Xpath定位() 'MSXML2.DOMDocument.6.0
    Const str_Html As String = _
        "<div id = ""outside"">" & _
            "<div id =""box"">" & _
                "<div id = ""head"" class = ""color0"">AAA</div>" & _
                "<div id = ""body"" class = ""color1"">BBB</div>" & _
                "<div id = ""footer1"" class = ""color1"">" & _
                    "<div id = ""footer2"" class = ""color2"">CCC</div>" & _
                "</div>" & _
            "</div>" & _
        "</div>"
    Dim xmlDom As New MSXML2.DOMDocument60  '引用Microsoft xml,v6.0
'    Dim xmlDom As Object
'    Set xmlDom = CreateObject("Msxml2.DOMDocument.6.0")

    If Not xmlDom.LoadXML(str_Html) Then
        MsgBox xmlDom.parseError.reason
        Set xmlDom = Nothing
        Exit Sub
    End If
    Debug.Print xmlDom.SelectSingleNode("//div/ @ id").Text '根路径下div id
    Debug.Print xmlDom.SelectSingleNode("//div/div/ @ id").Text
    Debug.Print xmlDom.SelectSingleNode("//div/div[ @ class = ""color1""]").Text
    Debug.Print xmlDom.SelectSingleNode("//div/div[ @ id=""body""]").Text
    Debug.Print xmlDom.SelectNodes("//div/div/@id")(0).Text
    Debug.Print xmlDom.SelectNodes("//div/div/@id")(2).Text
    Debug.Print xmlDom.SelectNodes("//div/div[@id=""footer2""]")(0).Text '只有一个结果
    Debug.Print xmlDom.SelectNodes("//div [@id=""box""] /div [@class=""color1"" ] ")(0).Text
    Debug.Print xmlDom.SelectNodes("//div/div/@id")(0).XML

    Set xmlDom = Nothing
End Sub

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.7.0

@2021 yunfeng.net.cn 版权所有
浙ICP备16007973号-1