2014-04-21 78 views
0
 <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> 

回答

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 
+0

感謝重播,但你有任何想法如何做到這一點使用「XMLUtil」對象不是「Microsoft.XMLDOM」 –

+0

我沒有,沒有。我相信'XMLUtil'是一個Java類。你有這個問題標記爲'VBScript',所以我通過VBScript使用'XMLDOM' COM對象。 – Bond

相關問題