1

我可以知道如何使用 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>

谢谢

4

1 回答 1

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
于 2012-09-19T03:15:02.860 回答