我正在使用 JDeveloper 编写 BPEL 流程。当我尝试从我的请求 xml 中提取节点的值时遇到问题。
请求 XML 如下:
<ConvertTemp xmlns="http://www.nikhil.net/">
<Temperature>200</Temperature>
<FromUnit>degreeCelsius</FromUnit>
<ToUnit>degreeFahrenheit</ToUnit>
</ConvertTemp>
我能够从 SOAP 主体中提取请求 XML 字符串并将其放入另一个字符串变量(比如 strRequest)。
我正在尝试从此 strRequest 变量中提取 Temperature 节点的值(即 200)。我会将其转换为数字并将其分配给另一个 double 类型的变量。
对于提取温度节点值的函数,我的 XPath 查询应该是什么?
number(bpws:getVariableData('strRequest', '', '<XPath query>'))
我试过了
bpws:getVariableData('strRequest', '', '/ConvertTemp/Temperature/')
bpws:getVariableData('strRequest', '', '/ConvertTemp/Temperature')
bpws:getVariableData('strRequest', '', 'Temperature')
bpws:getVariableData('strRequest', 'strRequest', '/ConvertTemp/Temperature')
bpws:getVariableData('strRequest', 'strRequest', 'Temperature')
和类似的组合。 输出:上述所有试验的 NaN
最佳答案
试试 bpws:getVariableData('strRequest', '', '/ConvertTemp/Temperature/text()')
因为'200'是Temperature
节点下的text
节点
关于xml - 从 BPEL 中的 SOAP 主体请求字符串中提取 XPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13626987/