是否可以在下面的XML中使用XPath计算以下TRUE节点(具有不同的名称)?
<my:templateBase>
<my:executive>true</my:executive>
<my:seniorManager>false</my:seniorManager>
<my:manager>false</my:manager>
<my:supervisor>false</my:supervisor>
<my:directReport>false</my:directReport>
</my:templateBase>
我似乎无法解决XPATH,例如count(templateBase/*[?=true()])
。
答案 0 :(得分:1)
查找包含文本“true”的所有元素并计算它们。
count(//my:templateBase/*[text() = 'true'])
确保正确注册命名空间或使用*
代替my
作为通配符命名空间,例如
count(//*:templateBase/*[text() = 'true'])
我不知道Infopath,也许它也只是省略了命名空间。
如果您还想搜索子节点以获取文本“true”,请使用
count(//my:templateBase//*[text() = 'true'])
答案 1 :(得分:-1)
xpath是
count(//my:templateBase/*[. = 'true']
请注意,您的XML中明显有一些名称空间my
。也许你必须让你的处理器知道这个命名空间。您还可以使用通配符,即*:templateBase