代码之家  ›  专栏  ›  技术社区  ›  Jules Colle

XSLT获取特定标记的第一个匹配项

  •  9
  • Jules Colle  · 技术社区  · 14 年前


    如果我只想从html输出第一个(或任何)图像,XSLT文件会是什么样子?

    2 回复  |  直到 7 年前
        1
  •  17
  •   Dimitre Novatchev    14 年前

    一个选择第一个 <img> 文档中的元素是:

    (//img)[1]

    注意事项 那个 @Oded 在他的回答中

    //img[1] (:错!!!:)

    这将选择所有 < 文档中的元素,每个元素都是第一个 < 父代的子代。

    W3C XPath 1.0 Recommendation :

    注意 //para[1] 并不意味着与位置路径相同 /descendant::para[1] . 后者选择第一个后代 para 元素;前者选择所有后代

    另一个问题 没有命名空间 还有表情 (//img)[1] 不选择节点,因为文档中没有属于的元素 img .

    1. (//x:img)[1] x (通过宿主语言)与特定的默认名称pcae相关联(在本例中,这是 XHTML命名空间 ).

    2. (//*[name()='img'])[1]

        2
  •  2
  •   Oded    14 年前

    这个 XPath 表达式将从HTML页检索第一个图像: (//img)[1] .

    从中看到答案 @Dimitre Novatchev