Мне нужно добавить узел в определенную позицию. пожалуйста, ознакомьтесь с приведенным ниже примером.Нужно добавить узел в определенную позицию в XML в QTP
<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
Решение: Set XMLDOM = CreateObject ("MSXML2.DOMDocument") xmldom.Load ("C: \ Sample \ test.xml") «Код для cpoy в тег Set ndClnDtl = xmldom.selectSingleNode ("/корень /ASNHeader/ASNDetail").cloneNode(true) 'Место, где вам нужно КС в XML-теги Set specNode = xmldom.selectSingleNode ("/ корень/ASNHeader/ASNSHIP") «Rtnode является родителем к месту упоминается Set Rtnode = xmldom.selectSingleNode ("/ корень/ASNHeader") Rtnode. insertBefore ndClnDtl, specNode xmldom.Save ("C: \ Sample \ test.xml") – user2197743