我有一条线" line1,line2,line3"在td标签中。但是我有兴趣使用XPath表达式将line2作为输出。
<table class = "class1">
<tbody>
<tr>
<td>
line 1, line 2, line 3
</td>
</tr>
</tbody>
</table>
对此的任何输入都会有帮助
答案 0 :(得分:1)
这将返回&#34;第2行&#34;:
/table/tbody/tr/td/normalize-space(tokenize(.,',')[2])
它做什么,用简单的英语:
在
td
元素中查找tr
,tbody
元素位于table
内的td
元素内。对此normalize-space()
进行标记,并使用逗号作为单独标记的分隔符。返回结果列表中的第二项。使用xpath-2.0
删除任何尾随空格。
该表达式仅在您可以依赖由逗号等分隔的字符串部分时才有效。
这使用了仅在XPath 2.0中可用的功能。如果你偶然用<?xml version="1.0" encoding="UTF-8" ?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output method="text"/>
<xsl:template match="/">
<xsl:value-of select="/table/tbody/tr/td/normalize-space(tokenize(.,',')[2])"/>
</xsl:template>
</xsl:transform>
标记了这个问题,那么答案将无济于事。
用于说明的XSLT样式表
line 2
文字输出
{{1}}