首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何过滤XSL中for-each循环中显示的内容

如何过滤XSL中for-each循环中显示的内容
EN

Stack Overflow用户
提问于 2011-02-03 22:52:45
回答 2查看 393关注 0票数 1

我认为只需告诉for-each只选择“top_coach_sales_vw”等于"PB“的站点就可以了,但是当我运行脚本时,它不会遍历XML中的任何数据。

我转义了单引号,因为它是php回显的一部分。

代码语言:javascript
运行
复制
    <xsl:for-each select="NewDataSet/top_coach_sales_vw[Site==\'PB\']">
         <td><xsl:value-of select="name"/></td>
         <td><xsl:value-of select="Site"/></td>
         <td><xsl:value-of select="Status"/></td>
</xsl:for-each>

XML:

代码语言:javascript
运行
复制
<NewDataSet>
  <top_coach_sales_vw>
      <name>Mike</name>
      <Site>PB</Site>
      <State>Ready</State>
  </top_coach_sales_vw>

  <top_coach_sales_vw>
      <name>Bill</name>
      <Site>EL</Site>
      <State>Talking</State>
  </top_coach_sales_vw>

  <top_coach_sales_vw>
      <name>Ted</name>
      <Site>PB</Site>
      <State>Ready</State>
  </top_coach_sales_vw>
</NewDataSet>
EN

Stack Overflow用户

回答已采纳

发布于 2011-02-04 00:29:36

for -每个select="NewDataSet/top_coach_sales_vwSite==\'PB\'">

有几个问题

  1. XPath中没有==运算符。您可能希望operator.
  2. \'PB\'在语法上无效--您的意思可能只是'PB'
  3. NewDataSet是所提供的=文档的顶层元素。如果上面的<xsl:for-each>指令位于与文档的根( / )不匹配的任何模板中,则表达式NewDataSet/top_coach_sales_vw[Site='PB']将不会选择任何节点,因为这是一个相对表达式,将根据当前节点(模板匹配的节点)进行计算。

解决方案

使用:

代码语言:javascript
运行
复制
<xsl:for-each select="/NewDataSet/top_coach_sales_vw[Site='PB']">
票数 3
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4887665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档