读取XML属性VBA

时间:2016-12-14 16:42:23

标签: xml excel vba excel-vba xdoc

我试图在VBA中获取单个节点的属性,但无法使用DOM管理它

XML如下所示:

map

我基本上只是想获取ID属性的值。任何帮助将不胜感激。

这与以下链接中的问题相同: Read XML Attribute VBA  变化很小!正如您在XML文件中看到的那样,有多个USER 所以以下答案不合适,

set

我怎么知道他的ID是" 21"?

的用户名 如果有人能帮助我,我真的很高兴

1 个答案:

答案 0 :(得分:1)

这对我有用:

Dim oDoc As New MSXML2.DOMDocument30
Dim el As Object
Dim XML As String

XML = ActiveSheet.Range("B1").Value 'for testing....

oDoc.validateOnParse = True
oDoc.LoadXML XML  '<< using LoadXML to load from a string
                  '   use Load if you're reading from a file

'select the User node with ID=21
Set el = oDoc.SelectSingleNode("//GetUserInfo/User[@ID=""21""]")

If Not el Is Nothing Then
    Debug.Print el.getAttribute("Name")
Else
    Debug.Print "user id not found!"
End If