【问题标题】:XSLT - how to match any non-text node children?XSLT - 如何匹配任何非文本节点子节点?
【发布时间】:2009-05-26 21:52:04
【问题描述】:

我是 XSLT 的新手,我不知道如何获取 xsl:if 在没有子标签时匹配。

我希望这个匹配:

<context>
    howdy
</context>

这不是:

<context>
    <child>
        howdy
    </child>
</context>

【问题讨论】:

    标签: xslt match children


    【解决方案1】:

    相关的 xpath 表达式应如下所示:

    //context[not(./*)]
    

    【讨论】:

    • 非常感谢!我正在尝试使用 text()。我会认为 * 匹配的文本节点也...
    • ./* 与 相同,因此您可以省略“./”部分,如://context[not()]。另外,“”是“child::”的缩写,子轴的“主节点类型”是元素。因此它只选择元素。同样,“@*”(“attribute::*”的缩写)只选择属性。
    【解决方案2】:

    您也可以指定count(child::*) = 0 .

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-08
      • 2018-04-18
      • 2018-01-05
      • 2017-12-07
      • 2021-03-21
      • 2010-10-10
      • 1970-01-01
      相关资源
      最近更新 更多