第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

無法獲取編碼的 XML 字符串的值

無法獲取編碼的 XML 字符串的值

暮色呼如 2021-10-27 19:07:23
我有一個從端點返回的長 xml 字符串。String responseXml = " <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">    <s:Header>        <ActivityId xmlns="http://schemas.microsoft.com/2004/09/ServiceModel/Diagnostics" CorrelationId="b0cfeb30-eb31-4ff8-91d6-c9f34d69497b">b177c70e-4ab6-448b-a0e6-42478e796167</ActivityId>    </s:Header>    <s:Body>        <IssueDomesticOrderResponse xmlns="http://tempuri.org/">            <IssueDomesticOrderResult>&lt;Envelope XMLVersion="02" Direction="Result"&gt;&#xD; &lt;Task Code="IssueDomesticOrder"&gt;&#xD; &lt;Success&gt;true&lt;/Success&gt;&#xD; &lt;DateTime&gt;2018-10-05T07:24:27.035983Z&lt;/DateTime&gt;&#xD; &lt;Item&gt;&#xD; &lt;File&gt;&amp;lt;Orders Version="4.00"&amp;gt;&amp;lt;Order No="0NGAOR18100000000603" ProductCd="OR"                ServiceAgreementCd="0"&amp;gt;&amp;lt;Event StateCd="CC" LCLDT="2018-10-05T08:24:27.4891095+01:00" OfficeCd="LOS001" EventOriginCd="S"&amp;gt;&amp;lt;PurchaseInformation Value="30" CurrencyCd="NGN" ValidUntil="2018-10-05" FeeValue="100.000" FeeCurrencyCd="NGN" PayOfficeCode="LOS001" PayOfficeName="---TEST OFFICE----" PurchaseOfficeCode="LOS001" PurchaseOfficeName="---TEST                OFFICE----"&amp;gt;&amp;lt;Sender CustomerID="4224" Title="MR" Last="Choji" First="Shikamaru" PostCode="LOS001" City="Lausanne" CountryCd="NG" Mobile="08124533711" /&amp;gt;&amp;lt;Recipient CustomerID="4225" Title="MS" Last="Jira" First="Amy" PostCode="1200" City="Geneve" CountryCd="NG" Mobile="08124577322"我試圖解析 xml 字符串并檢索Order No它具有的屬性,該屬性是Orders其父級的子級,F(xiàn)ile其父級是Item我執(zhí)行了以下操作,但無法檢索 Node.jsFile或ItemNode.js 文件。我希望從此 xml 中檢索的主要值是 Order 屬性No,如果我無法獲取 File 節(jié)點,則無法獲取 Order No 屬性。}
查看完整描述

2 回答

?
慕尼黑8549860

TA貢獻1818條經(jīng)驗 獲得超11個贊

我有兩種方法可以解決您的問題


你可以使用任何你想要的方式


方法一:


Java正確解析xmls


聽到是一個代碼示例,您可以在其中從您的 xml 中獲取訂單號


            String filepath = "/home/sample.xml"; //this file contains unecaped xml 

            DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();

            DocumentBuilder docBuilder = docFactory.newDocumentBuilder();

            Document xmlDoc = docBuilder.parse(filepath);

            Node Order = xmlDoc.getElementsByTagName("Order").item(0);

            NamedNodeMap attr = Order.getAttributes();

            Node no = attr.getNamedItem("No");

            System.out.println("Order no : " + no.getNodeValue());

此代碼的輸出


訂單號:0NGAOR18100000000603


這樣你就可以對 xmls 進行轉(zhuǎn)義


String unescapedStr=StringEscapeUtils.unescapeXml(StringEscapeUtils.unescapeXml(str)));//you can store it in a file if you want

我已經(jīng)完成了 unescapeXml twise


方法二:


如果您不想格式化 xml 并希望從中獲得訂單號 使用 Regex 有一種簡單的方法可以實現(xiàn)它


private static final Pattern TAG_REGEX = Pattern.compile("Order No(.+?) ");


    private static List<String> getOrderNo(final String str) {

        final List<String> tagValues = new ArrayList<String>();

        final Matcher matcher = TAG_REGEX.matcher(str);

        while (matcher.find()) {

            tagValues.add(matcher.group(1));

        }

        return tagValues;

    }

以這種方式調(diào)用方法


System.out.println(Arrays.toString(getOrderNo(str).toArray()));

輸出我們會


[="0NGAOR18100000000603"]


由于您使用了正則表達式,您可以使用字符串替換刪除不需要的括號,或者您可以使用仍然有效的正則表達式


希望這對你有幫助?。。。?/p>


查看完整回答
反對 回復(fù) 2021-10-27
?
慕尼黑5688855

TA貢獻1848條經(jīng)驗 獲得超2個贊

首先嘗試從 SOAP 消息中提取消息正文。然后運行您的代碼以對其進行轉(zhuǎn)義并處理其內(nèi)容。


// create message factory

MessageFactory mf = MessageFactory.newInstance();

// headers for a SOAP message

MimeHeaders header = new MimeHeaders();     

header.addHeader("Content-Type", "text/xml");

InputStream stream = new ByteArrayInputStream(responseXml .getBytes(StandardCharsets.UTF_8));

// create the SOAPMessage

SOAPMessage soapMessage = mf.createMessage(header,stream);

// get the body

SOAPBody soapBody = soapMessage.getSOAPBody();


查看完整回答
反對 回復(fù) 2021-10-27
  • 2 回答
  • 0 關(guān)注
  • 168 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號