首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在XSLT中,如何跳过文本节点?

在XSLT中,如何跳过文本节点?
EN

Stack Overflow用户
提问于 2013-11-03 18:08:13
回答 1查看 270关注 0票数 0

我有一个模板,它显示text(),然后循环遍历所有子元素并应用模板。问题是,它正在将text()重新放到我已经处理过的页面上。

在我的一生中,我无法找到for-each select跳过text()节点的正确语法。

示例XSLT模板

代码语言:javascript
运行
复制
<xsl:template match="Task">
<li>
  <u>
    <xsl:value-of select="text()"/>
  </u>
  <ul>
    <xsl:for-each select=".">
      <xsl:apply-templates />
    </xsl:for-each>
  </ul>
</li>
</xsl:template>

示例XML

代码语言:javascript
运行
复制
<Task>
    This is my main task.
    <Task>
        This is a sub-task.
    </Task>
</Task>

示例不期望的输出

  • 这是我的主要任务。
    • 这是我的主要任务。
    • 这是个子任务。

EN

Stack Overflow用户

回答已采纳

发布于 2013-11-03 18:37:30

我想你想要取代

代码语言:javascript
运行
复制
  <ul>
    <xsl:for-each select=".">
      <xsl:apply-templates />
    </xsl:for-each>
  </ul>

使用

代码语言:javascript
运行
复制
  <xsl:if test="*">
    <ul>
      <xsl:apply-templates select="*"/>
    </ul>
  </xsl:if>
票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19756188

复制
相关文章

相似问题

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