【问题标题】:VBA Loop Through XML Nodes Using SelectSingleNodeVBA 使用 SelectSingleNode 循环遍历 XML 节点
【发布时间】:2016-04-15 23:22:34
【问题描述】:

我正在尝试使用循环更新 .xml 文件中的节点值。

显示的oXMlFile.SelectSingleNode 行正确更新了单个节点,但我不知道如何修改代码以便循环遍历所有节点并更新值。

任何帮助将不胜感激。

Set oXMLFile = CreateObject("Microsoft.XMLDOM")
oXMLFile.Load (ConfigFile)

'Update Node Attributes

Dim ii, TotChan As String
 ii = 0
 TotCh = 500

 Do While (ii < TotCh - 1)


Set CalibrationDateTimeNode=oXMLFile.SelectSingleNode("/HConfig/Signal[0]/CalibrationDateTime")

CalibrationDateTimeNode.Text = "2016-04-16"

 ii = ii + 1
 Loop

【问题讨论】:

    标签: xml excel vba loops while-loop


    【解决方案1】:

    我不太确定您到底需要什么,但要循环通过 xml 节点,请使用:

    Dim calibrationDateTimeNode As IXMLDOMNode
    Dim colNodes As IXMLDOMNodeList
    
    Set colNodes = oXMLFile.selectNodes("/HConfig/Signal[0]/...WhateverYouNeed")
    For Each CalibrationDateTimeNode In colNodes
       CalibrationDateTimeNode.Text = "2016-04-16"
    Next
    

    SelectNodes 命令可以选择一个节点列表,然后您可以迭代它的元素。使用 for each 比 do-while 容易得多。如果我没记错的话,更不用说更快了。

    【讨论】:

    • 谢谢,这正是我所需要的,现在一切正常。
    猜你喜欢
    • 1970-01-01
    • 2013-11-30
    • 1970-01-01
    • 2021-06-22
    • 1970-01-01
    • 2014-09-28
    • 1970-01-01
    • 2014-03-30
    • 1970-01-01
    相关资源
    最近更新 更多