从xml中提取信息

时间:2012-09-18 20:49:13

标签: xml xpath

我是否知道如何使用xpath从以下的html中提取2,34?我正在使用htmlceaner,我认为我不能使用normalize-space()并注意我应该使用标记值,因为否则有很多返回值。此外,xyz值周围有许多空格。我已经省略了其余的html以供说明。

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

由于

1 个答案:

答案 0 :(得分: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