如何遍历xml文件中的每个节点,如果节点名称与字符串匹配,则返回true,否则使用XQuery和XPath返回false?

如何遍历xml文件中的每个节点,如果节点名称与字符串匹配,则返回true,否则使用XQuery和XPath返回false?,xml,xpath,xquery,Xml,Xpath,Xquery,我希望循环遍历xml文档中的每个节点,如果该节点等于某个字符串值,则返回true,否则返回false。输出应类似于: 真的 假的 假的 真的 真的 如果节点名称与字符串匹配,则为True 谢谢。如果我们按照字面意思来回答你的问题,那就是 (//node()) ! (if (. = 'a certain string value') then 'True' else 'False' 但我怀疑“node”实际上是指元素(在这种情况下,它是/*),而“matches”可能是指“=”以外的其他东西,我

我希望循环遍历xml文档中的每个节点,如果该节点等于某个字符串值,则返回true,否则返回false。输出应类似于:

真的 假的 假的 真的 真的

如果节点名称与字符串匹配,则为True


谢谢。

如果我们按照字面意思来回答你的问题,那就是

(//node()) ! (if (. = 'a certain string value') then 'True' else 'False'

但我怀疑“node”实际上是指元素(在这种情况下,它是
/*
),而“matches”可能是指“=”以外的其他东西,我理解你的问题是
/*/(.instance of element(foo)
for$el in/*return$el instance of element(foo)
(其中
foo
将是您要查找的元素的名称)


但是,您无法将其作为字符串传递,因此您需要
将$name声明为xs:string external:='foo';//*/(local-name()=$name)

请编辑您的问题并添加xml的代表性示例,以及要测试的字符串。