gpt4 book ai didi

xml - 选择不包含具有给定text()的任何子代的节点?

转载 作者:行者123 更新时间:2023-12-03 17:15:38 24 4
gpt4 key购买 nike

给定这个XML片段:

<table>
<tbody>
<tr>
<td>
<strong>Specifications</strong>
</td>
</tr>
<tr>
<td>Finish</td>
<td>Black</td>
</tr>
<tr>
<td>Action</td>
<td>Semi-Automatic</td>
</tr>
<tr>
<td>Caliber</td>
<td>7.62mmX39mm</td>
</tr>
</tbody>
</table>


我试图选择所有 tr元素,这些元素在其下方的任何位置都不包含文本 Specifications,但是我对XPath感到恐惧,无法正确处理。我试过了

//table/tbody/tr[not(contains(text(),'Specifications'))]


但这显然仍为我提供了包含 trSpecifications节点。

最佳答案

要求的XPath:

/table/tbody/tr[not(.//text()[contains(.,'Specifications')])]


示例测试程序:

<xsl:transform
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="2.0">
<xsl:output method="xml" indent="yes" encoding="utf-8"/>

<xsl:template match="/">
<table>
<tbody>
<xsl:copy-of select="/table/tbody/tr[not(.//text()[contains(.,'Specifications')])]"/>
</tbody>
</table>
</xsl:template>
</xsl:transform>


根据您的输入输出:

<?xml version="1.0" encoding="utf-8"?>
<table>
<tbody>
<tr>
<td>Finish</td>
<td>Black</td>
</tr>
<tr>
<td>Action</td>
<td>Semi-Automatic</td>
</tr>
<tr>
<td>Caliber</td>
<td>7.62mmX39mm</td>
</tr>
</tbody>
</table>

关于xml - 选择不包含具有给定text()的任何子代的节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18808076/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com