我正在使用VBA从XML父节点获取所有属性和值。
这是XML:
<Elements>
<Details>
<Name>ABC</Name>
<Address>123ABC</Address>
</Details>
<Dept>
<Deptname>IT</Deptname>
<ID>A123</ID>
</Dept>
</Elements>
这是我在VBA中使用的代码
sub test()
Dim XMLFile As Object
Dim XMLFileName As String
Set XMLFile = CreateObject("Microsoft.XMLDOM")
XMLFileName = "C:\Users\Input.xml"
XMLFile.async = False
XMLFile.Load (XMLFileName)
XMLFile.validateOnParse = False
Dim mainnode As Object
Dim node As Object
Set mainnode = XMLFile.SelectNodes("//Elements")
For Each node In mainnode
Dim child As Variant
For Each child In node.ChildNodes
Debug.Print child.Name
Next child
Next node
End sub
这是我期望的输出。
Details
Name
Address
Dept
deptname
ID
执行上述代码时出现错误。有人可以帮我解决这个问题。谢谢!
在xml样本中Name
,Address
是的子代Details
。下面的代码重新运行Details
和Dept
:
For Each node In mainnode
Dim child As Object
For Each child In node.ChildNodes
Debug.Print child.BaseName
Next child
Next node
如果你想的孩子Details
和Dept
,你需要去更深层次的原因:
For Each node In mainnode
Dim child As Object
For Each child In node.ChildNodes
Debug.Print child.BaseName
Dim kiddo As Object
For Each kiddo In child.ChildNodes
Debug.Print kiddo.BaseName
Next kiddo
Next child
Next node
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句