XPath:选择一个包含3条以上注释的元素

马丁·夏娃

我正在尝试选择一个元素,其文本包含3个以上具有特定值的注释。

我试过了:

//*[count(self::comment()[. = "comment_text"]) > 3]

//*[count(comment()[. = "comment_text"]) > 3]

并没有成功。我究竟做错了什么?

任何帮助,不胜感激。

马蒂亚斯·穆勒(MathiasMüller)

您的方法适用于XSLT 2.0-您没有说明要使用哪个版本。

但是,通常的做法是将>字符转义到该字符,gt并且必须注意嵌套的引号(如果嵌套在双引号内,则引号必须为单引号,反之亦然)。

样本输入XML

<?xml version="1.0" encoding="utf-8"?>

<root>
   <true><!--comment_text--><!--comment_text--><!--comment_text--><!--comment_text--></true>
   <wrong1><!--comment_text--><!--comment_text--><!--comment_text--></wrong1>
   <wrong2><!--comment_text--><!--comment_text--><!--comment_text--><!--wrong_text--></wrong2>
</root>

样式表

<?xml version="1.0" encoding="utf-8"?>

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

   <xsl:output method="xml" indent="yes"/>
   <xsl:strip-space elements="*"/>

   <xsl:template match="/">
      <xsl:apply-templates/>
   </xsl:template>

   <xsl:template match="*[count(comment()[.='comment_text']) gt 3]">
      <xsl:copy/>
   </xsl:template>

</xsl:stylesheet>

输出

<?xml version="1.0" encoding="UTF-8"?>
<true/>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

选择一个以上的jQuery元素

Xpath-如何选择一个包含文本但仅此而已的元素

jQuery使用其中的注释选择一个元素

无法通过 xpath 选择和单击链接锚标记,它返回一个包含 1 个元素的数组

XPath选择包含表的第一个表

在XPath中选择一个不跟随轴的元素

Xpath仅选择元素的第一个实例

根据另一个元素的位置选择一个xpath元素

随机选择一个包含特定元素的列表

JQuery 选择一个包含多个类的元素

如何通过XPath选择第一个和最后一个元素?

jq:仅选择一个包含元素A但不包含元素B的数组

查找包含分配给一个以上元素的特定属性的文件数

包含具有特定文本的另一个元素的元素的 XPath?

如何使用XPATH定位其中包含另一个元素的元素?

d3选择元素,其类名称包含一个字符串

XPath:如何选择属性值等于另一个元素值的元素

XPath如果子元素具有值,则选择最后一个元素

如何通过 XPath 选择依赖于另一个元素的元素

选择熊猫行,如果行元素包含在另一个行元素中

仅CSS的选择查询以隐藏HTML元素(如果另一个元素包含内容)

XPath选择许多元素的第二个元素,除非只有一个元素存在

在包含两个的Javascript数组中选择另一个元素

Python-查找元素,如果前一个在xpath中包含特定类型的值

XPath:获取父包含文本的下一个元素

是否有一个zip函数来创建包含两个以上元素的元组?

Xpath选择元素,两个孩子都包含文本

前一个元素的Selenium XPath

xpath查找前一个元素