如何在excel vba中将子节点添加到xml

时间:2013-07-29 10:21:49

标签: xml excel-vba vba excel

我有像这样的xml模板

<?xml version="1.0" encoding="UTF-8"?>
<manageServiceProfileRequest xmlns="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
      <subscriptionsList>
        <**subscription**>
          <scode>##SCODE##</scode>
          <sname>##SNAME##</sname>
          <action>add</action>
        </subscription>
      </subscriptionsList>
</manageServiceProfileRequest>

我的要求是添加任意数量的订阅节点,具体取决于作为输入提供的订阅数量。如果订阅的数量是5,那么我应该有5,那么我的xml应该在subscriptionsList标签中有5个订阅节点。我编写了代码,我手动创建一个订阅节点,并将scode,sname和action添加为子节点,然后附加到父节点。我需要使用示例模板中现有的scubscription节点并添加任意次数。

1 个答案:

答案 0 :(得分:0)

我不确定我是否完全理解这个问题,但是如果您的文档以一个subscription节点开始,并且您需要添加额外的subscription个节点,那么您可以重复:深度克隆现有的subscription节点并使新节点成为subscriptionsList节点的子节点:

' Note the True parameter to indicate we want to do a deep clone
Set newNode = existingSubscriptionNode.cloneNode(True)

' change the values of scode, sname and action here if needed

existingSubscriptionNode.parentNode.appendChild newNode

有关cloneNodeappendChild

的MSDN参考的详细信息