0

特定の位置にノードを追加する必要があります。以下の例を確認してください。

<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」の子です。この投稿では、コードを適切にフォーマットしていません。調整よろしく。

4

1 に答える 1

0

解決:

Set xmldom = CreateObject("MSXML2.DOMDocument")
xmldom.Load(C:\Sample\test.xml")

'Code to cpoy the tag
Set ndClnDtl = xmldom.selectSingleNode("/root/ASNHeader/ASNDetail").cloneNode(true)

'Location at which you need to cop the xml tags
Set specNode = xmldom.selectSingleNode("/root/ASNHeader/ASNSHIP")

'Rtnode is parent to the location mentioned
Set Rtnode = xmldom.selectSingleNode("/root/ASNHeader")
Rtnode.insertBefore ndClnDtl,specNode

xmldom.Save("C:\Sample\test.xml")
于 2013-03-22T14:40:11.433 に答える