2017-08-12 7 views
0

私はAPI呼び出しのために石鹸本体として提供される以下のコードを持っています。私はこの値を '#06164F4'、 '00000116'、 '## 00000130'とする必要があります。値は一重引用符とカンマで区切ります。私はconcatとstring-joinを試しましたが、正確な出力は得られませんでした。石鹸本体のペイロードからすべてのTOLL_NUMBERを取得するにはどうすればいいですか?soapペイロード値を連結するためのxpath

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:v1="http://www.oracle.com/Argus/Contract/v1.0" xmlns:v11="http://www.oracle.com/Argus/Types/v1.0"> 
    <soap:Header/> 
    <soap:Body> 
     <ns0:SFT_MSG ns1:Type="Request" ns1:EnterpriseShortName="ns0:EnterpriseShortName_1" xmlns:ns1="http://www.oracle.com/Argus/Base/v1.0" xmlns:ns0="http://www.oracle.com/Argus/TOLL_Request/v1.0"> 
    <ns0:TOLL_LOOKUP> 
    <ns0:TOLL> 
     <ns2:TOLL_NUMBER xmlns:ns2="http://www.oracle.com/Argus/Entity/v1.0">#06164F4</ns2:TOLL_NUMBER> 
     <ns2:EXPIRATION_DATE xmlns:ns2="http://www.oracle.com/Argus/Entity/v1.0">ns1:EXPIRATION_DATE_0</ns2:EXPIRATION_DATE> 
    </ns0:TOLL> 
    <ns0:TOLL> 
     <ns2:TOLL_NUMBER xmlns:ns2="http://www.oracle.com/Argus/Entity/v1.0">00000116</ns2:TOLL_NUMBER> 
     <ns2:EXPIRATION_DATE xmlns:ns2="http://www.oracle.com/Argus/Entity/v1.0">ns1:EXPIRATION_DATE_0</ns2:EXPIRATION_DATE> 
    </ns0:TOLL> 
    <ns0:TOLL> 
     <ns2:TOLL_NUMBER xmlns:ns2="http://www.oracle.com/Argus/Entity/v1.0">##00000130</ns2:TOLL_NUMBER> 
     <ns2:EXPIRATION_DATE xmlns:ns2="http://www.oracle.com/Argus/Entity/v1.0">ns1:EXPIRATION_DATE_0</ns2:EXPIRATION_DATE> 
    </ns0:TOLL> 
    </ns0:TOLL_LOOKUP> 
    <ns1:EXTENSION> 
    <ns1:CUSTOM ns1:Name="ns0:Name_0" ns1:Metadata="ns0:Metadata_1">ns0:CUSTOM_0</ns1:CUSTOM> 
    <ns1:SFT_MSG_ELEMENT> 
     <any0>anyContents0</any0> 
    </ns1:SFT_MSG_ELEMENT> 
    </ns1:EXTENSION> 
</ns0:SFT_MSG> 
    </soap:Body> 
</soap:Envelope> 

答えて

0

のXPath 2.0を使用すると、concat()string-join()の組み合わせを使用することができます...

concat("&apos;",string-join(//*:TOLL_NUMBER,"&apos;,&apos;"),"&apos;") 

注:これは、プレフィックスと使用する名前空間URI http://www.oracle.com/Argus/Entity/v1.0をバインドすることが好ましいことはなく、 *:TOLL_NUMBER

関連する問題