You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将xsl:if条件整合到xsl:for-each的选择路径中?

XSLT路径筛选修正方案

你需要把两个筛选条件整合到XPath的谓词中,正确的选择路径如下:

$HistDB//AssignmentHistory/*/StudentItems/Item/Name[. = $strName and @Counsel]

错误原因说明

  • 你之前尝试的[$strName and @Counsel]逻辑错误:这里$strName是直接作为布尔值判断(仅变量非空时为真),没有和当前Name节点的文本值做相等比较,因此无法筛选出文本匹配的节点。
  • 第二种写法Name[@Counsel]=$strName不符合XPath语法,筛选条件必须放在节点的方括号谓词内部,不能在路径末尾直接添加等式判断。

完整示例代码

<xsl:for-each select="$HistDB//AssignmentHistory/*/StudentItems/Item/Name[. = $strName and @Counsel]">
  <!-- 直接输出表格行,无需额外xsl:if判断 -->
  <tr>
    <!-- 此处编写表格单元格内容逻辑 -->
  </tr>
</xsl:for-each>

内容的提问来源于stack exchange,提问作者Andrew Truckle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 13:04:55