亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

郵遞員:如何在 XML 主機響應中解析 CDATA 中的 xml?

郵遞員:如何在 XML 主機響應中解析 CDATA 中的 xml?

慕斯王 2023-03-18 16:55:55
我在這里和其他地方閱讀了多種資源,但未能解決我的問題。我將 XML 格式的 POST 請求發送到具有由另一個 XML“請求”構成的 CDATA 的主機,并且響應具有相同的結構。從 CDATA 內的嵌套 XML 響應中,我需要提取一個屬性('ATTRIBUTE7'),它將成為 Postman 中的一個環境變量。我的理解是,由于 CDATA,VASDataString 的內容被視為不應解析的文本塊。我怎樣才能超越這個街區?要求:<?xml version="1.0" encoding="UTF-8"?><va:VASMessage xmlns:va="http://subdomain.domain.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://subdomain.domain.com" file:/C:/work/work-idea/somewhere/vas.xsd"  Version="1.1.2">    <va:Header>        <va:HeadElem1>ABC123</va:HeadElem1>        <va:HeadElem2>192</va:HeadElem2>        <va:OriginalTime>2020-05-13T17:21:00</va:OriginalTime>        <va:TransactionCode>70</va:TransactionCode>        <va:ReqProcessing>0</va:ReqProcessing>        <va:MessageType>0</va:MessageType>        <va:MessageDirection>0</va:MessageDirection>    </va:Header>    <va:Body>        <va:VASProviderID>ABC</va:VASProviderID>        <va:VASProductID>PIPPO</va:VASProductID>        <va:VASMessageType>PIPPO_REQUEST</va:VASMessageType>        <va:TransactionTime>2020-05-13T17:21:00</va:TransactionTime>        <va:RetailerID>0101</va:RetailerID>        <va:BranchID>01</va:BranchID>        <va:ShopID>0001</va:ShopID>        <va:POSID>001</va:POSID>        <va:VASDataString><![CDATA[        <HostMessage>            <PIPPO_REQUEST>                <HostRequest>                    <Header Attr1="AB12" Timestamp="{{TimeStamp}}000" />                    <GORDO Operation="000192" />                    <Check>                        <Request Attr2="000100031408" Attr3="8029513427007" Attr4="2500">                            <ElemX Attr5="29" />                        </Request>                    </Check>                </HostRequest>            </PIPPO_REQUEST>        </HostMessage>]]>        </va:VASDataString>    </va:Body></va:VASMessage>
查看完整描述

1 回答

?
慕田峪9158850

TA貢獻1794條經驗 獲得超7個贊

解決方案:


const xml2js = require('xml2js');

xml2js.parseString(pm.response.text(), (err, result) => {

    if (err) {

        console.error(err);

        return;

    }


    const body = result.VASMessage.Body[0].VASDataString[0];

    

    xml2js.parseString(body, (err, result) => {

        if (err) {

            console.error(err);

            return;

        }


        pm.environment.set("ATTRIBUTE7",  JSON.stringify(result.HostMessage.PIPPO_RESPONSE[0].HostResponse[0].$.ATTRIBUTE7));


           console.log(rresult.HostMessage.PIPPO_RESPONSE[0].HostResponse[0].$.ATTRIBUTE7);


    })

});


查看完整回答
反對 回復 2023-03-18
  • 1 回答
  • 0 關注
  • 124 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號