由于 Cordys 基于SOA 标准,所以 下BPM XPath Edit 完全可用标准的 XPath语法来解析 XML ,可对XML数组动态取值。
由于很多时候 ,BPM在跟WebService结合的时候 ,很多时候 ,WebService抛过来的数据 是后台动态拼的XML,此时 我们就需要用到 Xpath来取值。
返回数据 是个数组,取第5个。
<getWeatherResult xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://WebXml.com.cn/">
<string>江苏 苏州</string>
<string>太仓</string>
<string>2016</string>
<string>2015/11/20 15:24:09</string>
</getWeatherResult>
ns2:getWeatherSoapOut/ns2:getWeatherResponse/ns2:getWeatherResult/node()[3] (取2016值)
<InputMsg xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://schemas.cordys.com/default">
<cityCode xmlns="http://schemas.cordys.com/default">ValueOf_cityCode</cityCode>
<userKey xmlns="http://schemas.cordys.com/default">ValueOf_userKey</userKey>
</InputMsg>
选择InputMsg下的所有的cityCode节点
bpm:InputMsg/*[local-name()='cityCode']