Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在ApacheCamel中将XPath表达式强制转换为布尔表达式_Xpath_Apache Camel - Fatal编程技术网

在ApacheCamel中将XPath表达式强制转换为布尔表达式

在ApacheCamel中将XPath表达式强制转换为布尔表达式,xpath,apache-camel,Xpath,Apache Camel,我有带标志的xml:false。我想读取此标志并将其值设置为flag属性: .setProperty( FLAG, xpath("//*[local-name()='flag']/text()", Boolean.class)) 使用上面的代码,我得到的是'true'值,而不是'false'。还尝试了表达式中的resultType(Boolean.class)和Boolean()xpath函数,但没有成功。您知道如何执行此强制转换吗?在XPath中,当文本内容等于字符串值时,以下表达式将返回布

我有带标志的xml:
false
。我想读取此标志并将其值设置为flag属性:

.setProperty( FLAG, xpath("//*[local-name()='flag']/text()", Boolean.class))

使用上面的代码,我得到的是'true'值,而不是'false'。还尝试了表达式中的
resultType(Boolean.class)
Boolean()
xpath函数,但没有成功。您知道如何执行此强制转换吗?

在XPath中,当文本内容等于字符串值时,以下表达式将返回布尔值
true
,否则返回布尔值
false

//*[local-name()='flag']/text() = 'true'


因此,我想,将XPath表达式更改为上述XPath会起作用。

在XPath中,当文本内容等于字符串值时,以下表达式将返回布尔值
true
,否则返回布尔值
false

//*[local-name()='flag']/text() = 'true'


所以我想,将您的XPath表达式更改为上述XPath是可行的。

您使用的是什么版本的XPath?您必须给
.setProperty
什么作为参数,以便它将属性设置为false?最后一个参数(
Boolean.class
)是否必要?您使用哪一版本的Camel?请发布整个XML消息。它是否可能有多个
标志
元素?我使用XPathV1.0,Camel v2.12.0.redhat-610379。文档中只有一个flag元素。您使用的XPath版本是什么?您必须给
.setProperty
什么作为参数,以便它将属性设置为false?最后一个参数(
Boolean.class
)是否必要?您使用哪一版本的Camel?请发布整个XML消息。它是否可能有多个
标志
元素?我使用XPathV1.0,Camel v2.12.0.redhat-610379。文档中只有一个flag元素。不知道xml boolean是区分大小写的,thanksAnd似乎不需要boolean()调用,至少least@divideByZero很可能是这样,因为XPath也是这样。我只是特别小心,因为我没有使用骆驼的经验。那么上面的XPath在Camel中是否真的适用,而不使用
boolean()
?是的,据我所知,它在xpathtester.com上工作,而不使用boolean()调用,'='运算符已经返回boolean。Editeddidn不知道xml boolean是区分大小写的,Thanks似乎不需要boolean()调用,至少least@divideByZero很可能是这样,因为XPath也是这样。我只是特别小心,因为我没有使用骆驼的经验。那么上面的XPath在Camel中是否真的适用,而不使用
boolean()
?是的,据我所知,它在xpathtester.com上工作,而不使用boolean()调用,'='运算符已经返回boolean。编辑