0

QTP を使用して 2 つの xml ファイルを比較する必要があります。各タグの値を比較する必要があり、見つかった場合は値の違いを出力する必要があります。組み込み関数XMLUTILを使用しましたが、期待どおりに動作しません。親タグを含む違いのあるファイルを作成します。

<tns:AAL_Request_NEW xsi:schemaLocation="http://www.bnymellon.com/AAL_Request_NEW  AAL_Request_NEW.xsd">
  <tns:OPF_Information>
    <tns:Source>
      <tns:Source>EPH</tns:Source>
    </tns:Source>
    <tns:References>
      <tns:Accounting_Record_Reference>130830000672401</tns:Accounting_Record_Reference>
      <tns:OPF_Reference>EPH1308300006724</tns:OPF_Reference>
      <tns:Group_Reference>EPH1308300006723</tns:Group_Reference>
    </tns:References>
  </tns:OPF_Information>
</tns:AAL_Request_NEW>

上記のxmlファイルでは、次のような値を持つタグが必要です

値がEPHのtns:Source 、値が 130830000672401 の tns:Accounting_Record_Reference、値が EPH1308300006724 の tns:OPF_Reference および tns:Group_Reference EPH1308300006723 が比較され、tns:References、tns:OPF_Information または tns:AAL_Request_NEW のような親タグではありません。

内部に子タグを持たず、開始 <> と終了の間に値しかないタグをフェッチし、それを他のファイルと比較して、タグ名と値がある場合はタグ名と値を出力するロジックを誰でも助けることができますか?違いは?

4

1 に答える 1

0

CreateObject("Microsoft.XMLDOM") を使用して xml ファイルを読み取り、タグ名でタグを取得して両方を比較できます。

Set objXMLDoc = CreateObject("Microsoft.XMLDOM") 
objXMLDoc.async = False 
objXMLDoc.load("<XML PATH>")

Set Root = objXMLDoc.documentElement 
Set tags = root.tagnames
Set NodeList = Root.getElementsByTagname("<node name>")
For Each Elem In NodeList 
msgbox  Elem.text
Next

感謝と敬意

于 2013-10-23T12:26:45.610 に答える