XSL计数问题

发布于 2024-10-28 09:13:14 字数 1064 浏览 1 评论 0原文

这是示例 xml 文件:

<sample s="false">
  <assertionResult>
    <name>XML Assertion</name>
    <failure>false</failure>
    <error>false</error>
  </assertionResult>
  <assertionResult>
    <name>Error Assertion</name>
    <failure>false</failure>
    <error>false</error>
  </assertionResult>
  <assertionResult>
    <name>Success Assertion</name>
    <failure>false</failure>
    <error>false</error>
  </assertionResult>
  <assertionResult>
    <name>XML Schema Assertion</name>
    <failure>false</failure>
    <error>true</error>
  </assertionResult>
</sample>

原始文件由 示例 节点组成,例如上面的节点。 我需要计算所有具有 s="false" 属性的 sample 节点,除了具有 true的节点> 里面。 这是我用于计数的代码:

select="count(/testResults/*[attribute::s='false'])"

问题是我不知道如何排除具有“true”值的子节点的节点。

This is the sample xml file:

<sample s="false">
  <assertionResult>
    <name>XML Assertion</name>
    <failure>false</failure>
    <error>false</error>
  </assertionResult>
  <assertionResult>
    <name>Error Assertion</name>
    <failure>false</failure>
    <error>false</error>
  </assertionResult>
  <assertionResult>
    <name>Success Assertion</name>
    <failure>false</failure>
    <error>false</error>
  </assertionResult>
  <assertionResult>
    <name>XML Schema Assertion</name>
    <failure>false</failure>
    <error>true</error>
  </assertionResult>
</sample>

The original file consists of sample nodes such as the one above.
I need to count all sample nodes with the s="false" attribute, except those which have an <error>true</error> inside.
This is the code which I am using for counting:

select="count(/testResults/*[attribute::s='false'])"

The problem is that I don't know how to exclude nodes which have the child with the "true" value.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

说好的呢 2024-11-04 09:13:14

您可以列出几组方括号来向您的条件添加新子句,即

/testResults/*[@s='false'][not(.//error = 'true')]

You can list several sets of square brackets to add new clauses to your condition i.e.

/testResults/*[@s='false'][not(.//error = 'true')]

゛清羽墨安 2024-11-04 09:13:14

select="count(/testResults/*[attribute::s='false' and not(error='false')])"

select="count(/testResults/*[attribute::s='false' and not(error='false')])"

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文