1

我从 HTTP 页面得到这个结果,例如:

<!DOCTYPE html>
<html>
  <head>
    <title>Captchaservice</title>

  </head>
  <body>
    15
  </body>
</html>

我使用这个 Nokogiri 代码:

doc = Nokogiri::HTML( response )
id = doc.xpath('//').text

但我得到\n 15 \n等。

我试着写:

id = doc.xpath('//').text.to_i

我得到了这个值,但是当我使用这个 ID 时,我得到:

undefined method `empty?' for 15:Fixnum

我做错了什么,如何获得这个整数值?

4

1 回答 1

1

那是因为你idFixnum类的一个实例(因为id15 持有值doc.xpath('//').text.to_i)。而且Fixnum类没有方法。所以#empty?如果你想做空测试,那就做id = doc.xpath('//').text.strip。现在您id将拥有一个字符串实例,即'15'. 在此您可以调用#empty?方法。当您需要使用整数值时,只需执行id.to_i并使用它。

于 2013-10-17T15:32:52.283 回答