2017-05-07 92 views
1

以下xpath表達式在整個xml文檔中的任何位置查找AccountNo元素。 #[xpath3('//AccountNo').text] 針對特定元素的JSON解析

我是類似的表達式後,如果從任何地方存在json請求獲取AccountNo。

以下是包含AccountNo的示例xml請求。

<Account> 
    <AccountName>John</AccountName> 
    <AccountNo>4234324</AccountNo> 
</Account> 

<Order> 
<OrderId>34234242</OrderId> 
<ServiceOrder> 
    <AccountNo>231232</AccountNo> 
    <ServiceOrderId>54654698787</ServiceOrderId> 
</ServiceOrder> 
<ServiceOrder> 
    <AccountNo>231232</AccountNo> 
    <ServiceOrderId>78979879797</ServiceOrderId> 
</ServiceOrder> 
</Order> 

在此先感謝您的任何幫助。

+0

處理有效載荷,你能否告訴我們整個XML文檔? –

+0

https://docs.mulesoft.com/mule-user-guide/v/3.8/json-module-reference 檢查了這一點。 –

+0

請找到以上兩個示例xml請求 – user3366906

回答

0

要從Mule流中的JSON有效內容元素中獲取值,首先需要將json有效內容轉換爲對象,如下所示。

<json:json-to-object-transformer returnClass="java.lang.Object" doc:name="JSON to Object"/> 

然後如下獲取json有效載荷元素。在下面的代碼中,我從JSON有效載荷中獲取RecordId的值。

<set-variable variableName="RecordID" value="#[payload.DocProcessingMessage.UploadEfnolDocument.RecordId]" doc:name="Variable_RecordID"/> 

完成後,將有效負載轉換回JSON進行進一步處理。

<json:object-to-json-transformer doc:name="Object to JSON"/> 
0

先轉換XML有效載荷爲JSON然後用變壓器

<json:xml-to-json-transformer doc:name="XML to JSON" mimeType="application/json"/> 
<set-payload value="{ &quot;AccountNo&quot;: &quot;#[json:Account:AccountNo]&quot;}" mimeType="application/json" doc:name="payload"/>