如何同時轉換 xml 中的多個 MSG-ID?

如何同時轉換 xml 中的多個 MSG-ID?

我有一個腳本可以將 MSG-ID(放置在我們的資料庫中的 MSG-ID)轉換為 XML 檔案。

下面是一個將 MSID 轉換為 XML 的範例

getDXML xxxxxMSGIDxxxxxx > filename.xml 

現在我有超過 40 個 MSG-ID,如果可能的話,我想一次將它們全部轉換為不同的名稱

這是其中的一部分

<?xml version="1.0" encoding="UTF-8"?>
<message schemaLocation="http://postfinance.ch/deva/message BANCS_DEVA_Message.xsd">
    <MessageHeader>
        <MandantID>001001</MandantID>
        <MessageID>**201711221731-A_DEVA_ADHCORDNTF_AA-10500879**</MessageID>
        <Sender>BOMC</Sender>
        <SenderPlattform>T</SenderPlattform>
        <MessageType>00761</MessageType>
        <Receiver>DEVA</Receiver>
        <CommPattern>FF</CommPattern>
        <Prioritaet>normal</Prioritaet>
    </MessageHeader>
    <sendung>
        <ProcessingHeader>

答案1

首先建立模板

cat >template.notxml <<'X'
<?xml version="1.0" encoding="UTF-8"?>
<message schemaLocation="http://postfinance.ch/deva/message BANCS_DEVA_Message.xsd">
    <MessageHeader>
        <MandantID>001001</MandantID>
        <MessageID>#MESSAGEID#</MessageID>
        <Sender>BOMC</Sender>
        <SenderPlattform>T</SenderPlattform>
        <MessageType>00761</MessageType>
        <Receiver>DEVA</Receiver>
        <CommPattern>FF</CommPattern>
        <Prioritaet>normal</Prioritaet>
    </MessageHeader>
    <sendung>
        <ProcessingHeader>
X

現在建立文件。我假設您的清單中有一組訊息 ID。在缺乏真實細節的情況下,我進一步假設您的訊息 ID 僅包含字母、數字、連字符和底線(A-Za-z0-9-_)。我們稱這個清單為ids.list

while IFS= read -r messageid
do
    sed "s/#MESSAGEID#/$messageid/g" template.notxml > "$messageid.notxml"
done < ids.list

相關內容