我在让Nokogiri正常工作时遇到了问题.我正在使用1.4.2版本的Ruby 1.9.2.
我安装了libxml2 libxslt并且是最新的.当我使用XML运行Ruby脚本时,它运行良好.
require 'nokogiri'
doc = Nokogiri::XML(File.open("test.xml"))
doc = doc.css("name").each do |node|
puts node.text
end
Run Code Online (Sandbox Code Playgroud)
进入CL,运行ruby test.rb,返回
Name 1
Name 2
Name 3
Run Code Online (Sandbox Code Playgroud)
人群疯狂.我调整了一些事情,对代码做了一些调整......
require 'nokogiri'
require 'open-uri'
doc = Nokogiri::HTML(open("http://domain.tld"))
doc = doc.css("p").each do |node|
puts node.text
end
Run Code Online (Sandbox Code Playgroud)
回到CL,ruby test.rb返回......什么都没有!只是一个新的空行.
是否有任何理由可以使用XML文件,而不是HTML?
要调试此类问题,我们需要您提供更多信息.由于您没有提供有效的URL,并且因为我们知道Nokogiri可以解决这类问题,所以调试工作就在您身上.
这是我要做的测试:
在IRB:
open('http://whateverURLyouarehiding.com').readNokogiri::HTML(...).这也需要保留.read前一行,所以Nokogiri正在接收页面的主体,而不是IO流..read.这将告诉Nokogiri读取IO流是否存在问题,但我严重怀疑它有问题,因为我一直使用它.那时我怀疑你的系统有问题.doc.errorsNokogiri解析文档后的值.它可能是在文档中发现错误,如果是这样,它们将被捕获到那里.| 归档时间: |
|
| 查看次数: |
1658 次 |
| 最近记录: |