元素的XPath

时间:2014-09-29 12:51:43

标签: html xpath xpath-2.0

我有一条线" line1,line2,line3"在td标签中。但是我有兴趣使用XPath表达式将line2作为输出。

<table class = "class1">
<tbody>
   <tr>
     <td>
          line 1, line 2, line 3
    </td>
   </tr>
 </tbody>
 </table>

对此的任何输入都会有帮助

1 个答案:

答案 0 :(得分:1)

这将返回&#34;第2行&#34;:

/table/tbody/tr/td/normalize-space(tokenize(.,',')[2])

它做什么,用简单的英语:

  

td元素中查找trtbody元素位于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}}