XML 始终是一个挑战......您的阅读代码高度依赖于编写代码,并希望它永远不会改变。您的来源是陌生的来源之一。
我总是不得不在网上搜索以找到解决此类问题的方法,而且这些帖子通常与我手头的 XML 工具版本不一致。通常您可以使用您的 IDE 查看对象库并找到与您在帖子中找到的属性和方法相对应的属性和方法。在 Excel F2 中打开对象浏览器,您可以查看 MSXML2 库。
Sub test()
' add reference to MSXML v6
'http://msdn.microsoft.com/en-us/library/aa468547.aspx
'http://msdn.microsoft.com/en-US/data/bb190600.aspx
Dim xdoc As New DOMDocument60
Dim s As String
s = s & "<Doc a=""1"" b=""2"">"
s = s & "<Doc1 aa=""1"" bb=""2"" cc=""3"" dd=""4""/>"
s = s & "<Doc1 aa=""1"" bb=""2"" cc=""3"" dd=""4"" ee=""5""/>"
s = s & "<Doc1 aa=""1"" bb=""2"" cc=""3"" dd=""4""/>"
s = s & "<Doc1 aa=""1"" bb=""2"" cc=""3"" dd=""4"" ff=""6""/>"
s = s & "<Doc1 aa=""1"" bb=""2"" cc=""3"" dd=""4"" gg=""7""/>"
s = s & "</Doc>"
xdoc.LoadXML (s)
DisplayNodes2 xdoc
End Sub
Sub DisplayNodes2(xmlDoc As DOMDocument60)
'http://social.msdn.microsoft.com/Forums/en-US/xmlandnetfx/thread/454fbc72-ab87-4479-b0bf-b7925834ac4e/
Dim xelem As IXMLDOMElement
Dim xa As IXMLDOMAttribute
For Each xelem In xmlDoc.SelectNodes("//*")
Debug.Print xelem.nodeName
For Each xa In xelem.Attributes
Debug.Print xa.Name, xa.Value
Next xa
Next xelem
End Sub