xmlns属性上的骆驼XPATH选择包含

时间:2020-05-03 10:40:33

标签: xml xpath apache-camel

我想在包含值的xml命名空间上使用选择。

<Document xmlns="www.ddd.test.123.001">
 <properties>...
</Document>

在骆驼中:

from("direct:in")
        .choice()
            .when().xpath("/Document[@xmlns, contains(., 'test.123')]")
        .to("mock:pain:001")

xmlns包含我要使用的路由值。 可能吗,正确的骆驼XPath字符串是什么?

1 个答案:

答案 0 :(得分:1)

我不了解骆驼,但是在XPath 1.0中会是

"/*[local-name() = 'Document' and contains(namespace-uri(), 'test.123')]"

您不能使用/Document,因为它只会与没有命名空间的Document元素匹配。