如何在最后一个节点下创建新节点?

时间:2014-04-21 11:31:53

标签: xml vbscript

     <TestSuite Desc="ADI [UK]">
    <TestCase TcName=" Testing" >
      <Step ID="Step 1" Desc=" ">
        <StepDetails Status="4"  StepType="Step">Step 1 Info </StepDetails>
        <StepHeader StepType="STEPHEADER" Status="2">
          <StepDetails StepType="STEPHEADER">Step Header 1 Info </StepDetails>
          <StepDetails Status="3" StepType="STEPHEADER">Step Header 1 Warning </StepDetails>
          <StepHeader>
            <StepDetails Status="4"StepType="STEPHEADER">Step Header 2 Info </StepDetails>
          </StepHeader>
        </StepHeader>
      </Step>
    </TestCase>
  </TestSuite>

如何创建一个函数来将最后一个“StepHeader”节点作为一个对象,当我调用该函数时,在最后一个“stepHeader”下创建的新“StepHeader”节点就像这样

  <TestSuite Desc="ADI [UK]">
    <TestCase TcName=" Testing" >
      <Step ID="Step 1" Desc=" ">
        <StepDetails Status="4"  StepType="Step">Step 1 Info </StepDetails>
        <StepHeader StepType="STEPHEADER" Status="2">
          <StepDetails StepType="STEPHEADER">Step Header 1 Info </StepDetails>
          <StepDetails Status="3" StepType="STEPHEADER">Step Header 1 Warning </StepDetails>
          <StepHeader>
            <StepDetails Status="4"StepType="STEPHEADER">Step Header 2 Info </StepDetails>
              <StepHeader>
                <StepDetails Status="4"StepType="STEPHEADER">Step Header 2 Info </StepDetails>
              </StepHeader>
          </StepHeader>
        </StepHeader>
      </Step>
    </TestCase>
  </TestSuite>

1 个答案:

答案 0 :(得分:0)

XMLDOM课程可以完成您需要的一切。首先,加载XML文档。

Set xmlDoc = CreateObject("Microsoft.XMLDOM")  
xmlDoc.Load "c:\test.xml"

然后使用selectSingleNode()抓取您要插入的节点的父级。

Set objRoot = xmlDoc.documentElement.selectSingleNode("/TestSuite/TestCase/Step/StepHeader/StepHeader")

接下来,在上面找到的节点下创建并附加StepHeader节点。

Set objNode = xmlDoc.createElement("StepHeader")
objRoot.appendChild objNode

添加StepDetails子节点(带文本)并将其附加到StepHeader节点。

Set objSub = xmlDoc.createElement("StepDetails")
objSub.Text = "Step Header 2 Info"
objNode.appendChild objSub

最后,保存新的XML文档。

xmlDoc.Save "c:\test.xml"

应该注意,您的原始XML文档有一个小错误。

<StepDetails Status="4"StepType=...    ' Need a space
<StepDetails Status="4" StepType=...   ' So that it looks like this