2012-09-18 243 views
1

我可以通過使用xpath知道如何從下面的一段html中提取2,34?爲此我使用htmlceaner,我認爲我不能使用normalize-space()並注意我應該使用標記值,否則會有很多返回的值。另外,xyz值在它周圍有很多空格。爲了說明,我省略了其餘的html。從xml中提取信息

<tr><td colspan="2"> <strong> XYZ </strong> </td><td align="right"> <strong> 2,34&nbsp; </strong> </td>

感謝

回答

0

使用

substring-before(/*/td[2]/strong, '&#xA0;') 

XSLT - 基於驗證

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:output method="text"/> 

<xsl:template match="/"> 
    <xsl:value-of select="substring-before(/*/td[2]/strong, '&#xA0;')"/> 
</xsl:template> 
</xsl:stylesheet> 

當所提供的XML文檔應用該變換(校正爲進行良好的形成):

<tr> 
    <td colspan="2"> 
     <strong> XYZ </strong> 
    </td> 
    <td align="right"> 
     <strong> 2,34&#xA0;; </strong> 
    </td> 
</tr> 

中的XPath表達式,並將該評價的結果被複制到輸出:

2,34