如何在Apache Camel中使用xpath获取nodeList

时间:2018-04-12 19:18:45

标签: java xpath apache-camel

我有像

这样的xml
<Response>
    <Status>
        <Code>0</Code>
    </Status>
    <Order>
        <OrderId>1</OrderId>
    </Order>
</Response>

我如何获得所有节点而不是响应,但没有标记

当我尝试这个时,我得到整个xml

<xpath>/Response</xpath>

当我尝试这个时,输出是空白的

<xpath>/Response/text()</xpath>

我能做什么,所以我只能使用外部标签

   <Status>
        <Code>0</Code>
    </Status>
    <Order>
        <OrderId>1</OrderId>
    </Order>

1 个答案:

答案 0 :(得分:0)

目前尚不清楚所需的输出是否是没有文档元素的XML,或者是否需要XML中的所有文本。

如果你想要子元素序列,那么你会想要:

/Response/*

如果你想要你可以使用string()函数来获取/Response元素的计算文本值:

string(/Response)

如果碰巧包含一些不需要的回车和空格,由于XML打印得很漂亮,你可以使用normalize-space(),这会折叠重复的空格:

normalize-space(/Response)