0
我需要在特定位置添加節點。請檢查下面的例子。需要在QTP中的XML中的特定位置添加節點
<root>
<ASNHeader>
<ASNStart>text</ASNStart>
<ASNprop>text_prop</ASNprop>
<ASNDetail>
<ASNAprvr>Mr.X</ASNAprvr>
<ASNAprvrDt>20Mar</ASNAprvrDT>
<ASNAprvrSub>XXX</ASNAprvrsUB>
</ASNDetail>
<ASNSHIP>XYZ</ASNSHIP>
<ASNSRDC>XYZ123</ASNSRDC>
</ASNHeader>
</root>
在這裏,我必須複製「ASNDetail」標籤和現有的「ASNDetail」之後和之前的「ASNSHIP」的標籤粘貼。我需要根據用戶指定的次數複製粘貼。 注意:我必須在QTP中執行此操作,並且使用MSXML2.DomDocument作爲xml解析器。任何人都可以提出一個方法AppendChild在「ASNSRDC」標籤後複製它,但我不想這樣。 這裏「ASNHeader」是「root」的孩子。 ASNDetail是「root \ ASNHeader」的子項。我沒有在這篇文章中正確地格式化代碼。善意調整。
我有過的insertBefore命令溶液(認爲它只會工作對於JScript,C#)..但其QTP使用的代碼明天早上too..would後.. – user2197743 2013-03-22 05:09:37
解決方案: 集XMLDOM =的CreateObject( 「MSXML2.DOMDocument」) xmldom.Load( 「C:\ SAMPLE \的test.xml」) 「代碼以cpoy標籤 集ndClnDtl = xmldom.selectSingleNode(「/根/ASNHeader/ASNDetail").cloneNode(true) '您需要的位置到警察XML標記 集specNode上= xmldom.selectSingleNode( 「/根/ ASNHeader/ASNSHIP」) 「Rtnode是父的位置提到 集Rtnode = xmldom.selectSingleNode( 「/根/ ASNHeader」) Rtnode。 insertBefore ndClnDtl,specNode xmldom.Save(「C:\ Sample \ test.xml」) – user2197743 2013-03-22 14:37:56