0
我有一個要求,我在mule流中針對xml有效載荷運行xPath評估程序。此xPath評估程序可以返回單個或多個值。我需要將這些值存儲在流變量中,並在稍後的流程中使用。有人可以幫我實施這個改變嗎?騾流中的XPATH返回多個值
感謝您對此的幫助。
謝謝
我有一個要求,我在mule流中針對xml有效載荷運行xPath評估程序。此xPath評估程序可以返回單個或多個值。我需要將這些值存儲在流變量中,並在稍後的流程中使用。有人可以幫我實施這個改變嗎?騾流中的XPATH返回多個值
感謝您對此的幫助。
謝謝
要從XML文檔中提取值,請使用XPath提取器。
<mulexml:xpath-extractor-transformer expression="/a:my/b:xpath/text()"/>
您也可以useMule Expression Language來創建動態的XPath表達式:
<expression-transformer mimeType="text/xml" evaluator="xpath" expression="//school/day[@date= #[function:datestamp:yyyy-MM-dd] ]/name
"/>
然而,這可以得到複雜的表情有些凌亂,所以我創造了自己的dynamic XPath transformer:
<dx:dxpath expression="/b:team[name = $teamName]/b:player[b:name = $playerName]/b:goals/text()">
<dx:variable key="playerName" value="#[header:invocation:playerName]"/>
<dx:variable key="teamName" value="#[header:invocation:teamName]"/>
<!-- unlimited number of variables -->
</dx:dxpath>
這在眼睛上更容易一些。
然後用ericher包裝你的流:
<enricher target="#[variable:myData]">
<processor-chain>
<!-- your flow here -->
</processor-chain>
</enricher>
感謝托馬斯應對這一點。你知道我能夠使用XPATH在mule流中從XML中提取值。但是,我的XPATH表達式返回值的數組。我無法在XPATH表達式的末尾使用「.text」函數獲取它的值。我使用下面的表達式: 。我的確切要求是將這個值的數組傳遞給XSLT並在那裏使用它。 –
user2324686