【问题标题】:Extracting a number from an XML node从 XML 节点中提取数字
【发布时间】:2016-06-12 00:46:54
【问题描述】:

到目前为止,我对 XPath 所做的最好的事情就是提取以下节点:

<li class="List-guests">&#13;
<span class="icon guests"/>&#13;
3&#13;
</li>

我实际上只需要提取数字 3。有没有办法在 XPath 中做到这一点?如果可以避免的话,我真的不想开始使用一些复杂的正则表达式。

【问题讨论】:

    标签: html xml xpath web-scraping


    【解决方案1】:

    你应该可以使用 text() 函数

    【讨论】:

      【解决方案2】:

      class="icon guests"span 后面的规范化文本,

      normalize-space(//span[@class="icon guests"]/following-sibling::text())
      

      以及class='List-guests'span的规范化文本,

      normalize-space(//li[@class='List-guests'])
      

      根据要求,您显示的 XML 将是 3

      注意:这是字符串3。如果您确实需要数字 3,则可以将上述任一 XPath 表达式包装在 number() 中。

      【讨论】:

        猜你喜欢
        • 2018-02-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-15
        • 2014-08-06
        • 2019-04-27
        • 1970-01-01
        相关资源
        最近更新 更多