是否可以在xpath中使用元素值?我有以下xml:
<root>
<html>
<table class=" table search-results-property-table">
....
<tr>
<td>
<span class="versal">HAS TAXONOMIC LEVEL</span>
</td>
<td>
<ul>
<li>
<a class="versal" href="../../../agrovoc/en/page/c_11125">genus</a>
</li>
</ul>
</td>
</tr>
<tr>
<td>
<span class="versal">IS USED AS</span>
</td>
<td>
<ul>
<li>
<a class="versal" href="../../../agrovoc/en/page/c_1591">christmas trees</a>
</li>
<li>
<a class="versal" href="../../../agrovoc/en/page/c_7776">timber trees</a>
</li>
</ul>
</td>
</tr>
....
<table>
</html>
<html>
[second data set...]
...
<root>
我想让元素值HAS TAXONOMIC LEVEL,并在xpath中使用。接下来是输出它们的值(例如HAS TAXONOMIC LEVEL),然后在HAS TAXONOMIC LEVEL下得到/ul/li/a -> genus下的兄弟姐妹td:后代的值,以及is USED AS下的圣诞树和木材树的值。所以我得到以下内容:
START HERE
=LDR 00000nam 2200000Ia 4500
=305 \$aHAS TAXONOMIC LEVEL$bgenus
=305 \$aIS USED AS$bchrismas trees
=305 \$aIS USED AS$btimber trees
START HERE
=LDR 00000nam 2200000Ia 4500
(second data set and so on..)
请注意,我在这个文件中有多个xml格式的文档,如下所示:
<root>
<html>
[DATA SET 1]
....
</html>
<html>
[DATA SET 2]
....
</html>
.....
</root>
谢谢,干杯!
试试这样写:
<xsl:template match="/root">
<xsl:for-each select="html/table/tr[td/span='HAS TAXONOMIC LEVEL' or td/span='IS USED AS']">
<xsl:variable name="span" select="td/span" />
<xsl:for-each select="td/ul/li/a">
<xsl:text>$new-line </xsl:text>
<xsl:value-of select="$span"/>
<xsl:text> $separator </xsl:text>
<xsl:value-of select="."/>
<xsl:text> </xsl:text>
</xsl:for-each>
</xsl:for-each>
</xsl:template>
,然后在/ul/li/a
中获取它们下面的值
你错了:值不是"低于"它们;他们是兄弟姐妹td
的后代。