如何从元素中获取 xpath 文本但根据 class 排除其中的一些文本?
How to get xpath text from element but exclude some of it based on class?
如何使用 xpath 表达式获取文本 "Show ME, and Show me too"?我需要省略 "OMIT ME"。
<table>
<tr>
<td>
<span class="omitME">OMIT ME</span>
Show ME, and
<span class="showME"> Show me too</span>
</td>
</tr>
</table>
一个简单的方法:
<xsl:template match="td | span[@class='showME']">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="span[@class='omitME']"/>
在 XPath 中,您可以使用:
/table/tr/td//text()[not(parent::span[@class='omitME'])]
到 select td
元素的所有文本节点后代,但其父节点是 'omitME' class 的 span
的节点除外。
或者也许:
//text()[not(parent::span[@class='omitME'])]
到 select 根节点的所有文本节点后代 - 同样,除了那些父节点是 "omitted" span
.
在 XSLT 中,您可能会使用其他内容,具体取决于当前上下文和练习的目的。
如何使用 xpath 表达式获取文本 "Show ME, and Show me too"?我需要省略 "OMIT ME"。
<table>
<tr>
<td>
<span class="omitME">OMIT ME</span>
Show ME, and
<span class="showME"> Show me too</span>
</td>
</tr>
</table>
一个简单的方法:
<xsl:template match="td | span[@class='showME']">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="span[@class='omitME']"/>
在 XPath 中,您可以使用:
/table/tr/td//text()[not(parent::span[@class='omitME'])]
到 select td
元素的所有文本节点后代,但其父节点是 'omitME' class 的 span
的节点除外。
或者也许:
//text()[not(parent::span[@class='omitME'])]
到 select 根节点的所有文本节点后代 - 同样,除了那些父节点是 "omitted" span
.
在 XSLT 中,您可能会使用其他内容,具体取决于当前上下文和练习的目的。