从camel中的标头中提取属性值

时间:2014-01-15 13:39:30

标签: apache-camel xquery

输入如下所示,

<book author="ABC" type="Children">
    <id>123</id>
    <name>XYZ</name>
</book>

我在xml路径中的标题中设置了以上内容:

<camel:setHeader headerName="REQUEST">
    <camel:xpath>/node()</camel:xpath>
</camel:setHeader>

现在,我想从此标题中提取作者的值(即ABC),并将其设置为另一个标题。我尝试使用以下代码但它失败了。

<camel:setHeader headerName="AUTHOR">
    <camel:xquery type="java.lang.String">{data($REQUEST/@author)}</camel:xquery>
</camel:setHeader>

提取设置标题的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

设置此标头的正确方法是:

<camel:setHeader headerName="AUTHOR">
    <camel:xpath>in:header('REQUEST')/@author</camel:xpath>
</camel:setHeader>