2017-01-30 7 views
1

新しいXMLタグClaimAdminClaimNum>000114700002</ClaimAdminClaimNum>を既存のタグ <MPN_OPT_OUT_TERM_DATE/>の後にXMLコードで追加しようとしています。バッチスクリプトを使用してXMLに新しいタグを追加します

新しいClaimAdminClaimNumタグの新しい値000114700002は、別の既存のタグ <CLAIM_NUM>0001147-00002</CLAIM_NUM>ではなく、ハイフンなしの値と同じ値にする必要があります。

以下のコードを参考にして、ご提案をお願いします。

現在のXMLコード:予想

<?xml version="1.0" encoding="UTF-8"?> 
-<dataroot> 
    -<Standard_x0020_Claim> 

    <CLAIM_LOAD_TYPE_INDICATOR>U</CLAIM_LOAD_TYPE_INDICATOR> 
    <PATIENT_LOAD_TYPE_INDICATOR>U</PATIENT_LOAD_TYPE_INDICATOR> 
    <PATIENT_ID_NUM>431586385</PATIENT_ID_NUM> 
    <LAST_NAME>BACON</LAST_NAME> 
    <CLAIM_NUM>0001147-00002</CLAIM_NUM> 
    <PATIENT_NOTES_LENGTH/> 
    <JURIS_CLAIM_NUMBER/> 
    <MPN_OPT_OUT_EFF_DATE/> 
    <MPN_OPT_OUT_TERM_DATE/> 

    </Standard_x0020_Claim>" 

XML:

<?xml version="1.0" encoding="UTF-8"?> 
-<dataroot> 
-<Standard_x0020_Claim> 

    <CLAIM_LOAD_TYPE_INDICATOR>U</CLAIM_LOAD_TYPE_INDICATOR> 
    <PATIENT_LOAD_TYPE_INDICATOR>U</PATIENT_LOAD_TYPE_INDICATOR> 
    <PATIENT_ID_NUM>431586385</PATIENT_ID_NUM> 
    <LAST_NAME>BACON</LAST_NAME> 
    <CLAIM_NUM>0001147-00002</CLAIM_NUM> 
    <PATIENT_NOTES_LENGTH/> 
    <JURIS_CLAIM_NUMBER/> 
    <MPN_OPT_OUT_EFF_DATE/> 
    <MPN_OPT_OUT_TERM_DATE/> 
    <ClaimAdminClaimNum>000114700002</ClaimAdminClaimNum> 

</Standard_x0020_Claim>" 

答えて

0

は、XMLを変更するためのXML対応のツールを使用してください。例えば、xshでは、あなたが書くことができます。

open file.xml ; 
my $claim_num = xsh:subst(/dataroot/Standard_x0020_Claim/CLAIM_NUM, '-', '') ; 
my $new := insert element ClaimAdminClaimNum 
        after /dataroot/Standard_x0020_Claim/MPN_OPT_OUT_TERM_DATE ; 
set $new/text() $claim_num ; 

save :b ; 
+0

こんにちは卿は、お返事どうもありがとうございます。 XMLをインストールして編集するためのソフトウェアを見つけるためにGoogleで調べることで、XSHでコーディングする方法はわかりません。さらに、同じXMLファイルに複数のクレームがあり、この変更を行う必要があります。この予想される出力で変更する必要があるXMLファイルは150個近くあります。このループはXSHを使って行うことができますか?バッチスクリプトを使用しても達成できる場合は、BATスクリプト –

+0

で解決策を提案してください。私が提供したリンクで見つかるように、 'xsh'は要素とファイルの両方にループすることができます。 – choroba

+0

優秀!編集ソフトウェアをインストールしてコードを試してみましょう。ありがとうございました。 –

関連する問題