0

是否可以在下面的 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()]).

4

2 回答 2

1

找到所有包含文本“true”的元素并计算它们。

count(//my:templateBase/*[text() = 'true'])

确保正确注册命名空间或使用*而不是my作为通配符命名空间,例如

count(//*:templateBase/*[text() = 'true'])

我不知道 Infopath,也许它也只是省略了命名空间。

如果您还想在子节点中搜索文本“true”,请使用

count(//my:templateBase//*[text() = 'true'])
于 2013-06-04T08:38:19.047 回答
-1

xpath是

count(//my:templateBase/*[. = 'true']

请注意,您my的 XML 中显然有一些命名空间。也许你必须让你的处理器知道这个命名空间。您也可以使用通配符,即*:templateBase

于 2013-06-04T06:49:28.190 回答