【问题标题】:XML Node Update Using VBA使用 VBA 更新 XML 节点
【发布时间】:2022-10-04 16:02:03
【问题描述】:

我有类似的 XML 数据

<Main>
<sub>data</sub>
<sub2>data2<sub2>
<sub3>data3<sub3>
</main>

我们如何使用 VBA 变量使用新数据更新数据

Dim newdata
newdata = "New Data"

并获取 XML LIKE

<Main>
<sub>New data</sub>
<sub2>data<sub2>
<sub3>data<sub3>
</main>

【问题讨论】:

标签: xml vba


【解决方案1】:

请尝试下一个功能。它使用RegEx

Function UpdateNode(strText As String, strTag As String, strReplace As String) As String
     With CreateObject("VBScript.RegExp")
        .MultiLine = True
        .IgnoreCase = True
        .Pattern = "<sub>(.*)</sub>"
        .Pattern = "<" & strTag & ">(.*)</" & strTag & ">"
        UpdateNode = .Replace(strText, "<" & strTag & ">" & strReplace & "</" & strTag & ">")
    End With
End Function

使用下一个Sub 对其进行测试:

Sub testUpdateNode()
    Dim txt As String
    txt = "<Main> " & vbCrLf & _
            "   <sub>data</sub>" & vbCrLf & _
            "   <sub2>data2</sub2>" & vbCrLf & _
            "   <sub3>data3</sub3>" & vbCrLf & _
            "</main>"
    Debug.Print UpdateNode(txt, "sub", "New Data")
    Debug.Print UpdateNode(txt, "sub2", "New Data")
End Sub

注意有一个正确的 XML (sub2, sub3 misint 结尾 /)...

【讨论】:

    猜你喜欢
    • 2011-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-01
    • 2013-05-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多