我有以下子例程,我想在其中遍历XML文档并覆盖特定的节点。 Excel中有一个Range,我已经按照我的需要完全构造了xml字符串。是否有一种简单的方法可以设置xml属性,就像我可以覆盖text属性一样?我试图走MSXML路线以使其更容易遍历dom,但是在这种情况下,除非有人知道一种简单的方法,否则逐行遍历文本文件可能会更容易。我意识到我可以遍历子节点并分别设置<V>
标签,但这还有其他挑战,似乎值得付出更多的努力。
Sub TestXML()
Dim path As String: path = Range("FilePath")
Dim XDoc As Object, root As Object
Set XDoc = CreateObject("MSXML2.DOMDocument")
XDoc.async = False: XDoc.validateOnParse = False
XDoc.Load (path)
Dim Nodes As Variant: Set Nodes = XDoc.SelectNodes("//P")
Dim NodeLength As Integer: NodeLength = Nodes.Length
For Each listnode In Nodes
//This works but does not format correctly
listnode.text = "<P><D>Bob</D><V>Lob</V><V>law</V></P>"
//This throws a Run-time error 450 wrong number of arguments or invalid property assignment
listnode.xml = "<P><D>Bob</D><V>Lob</V><V>law</V></P>"
Next listnode
XDoc.Save Range("FilePath")
Set XDoc = Nothing
End Sub