【发布时间】:2014-05-16 22:46:41
【问题描述】:
我有一个 Ruby 程序,它从网站解析 XML,当其中一个元素为 nil 时,它时常崩溃。
我已经实现了以下代码来处理它,但它似乎不起作用;
begin
data[6]= element.elements["company_info"].elements["org_number"].text unless element.elements["company_info"].elements["org_number"].nil?
rescue
data[6] = 'no_info'
end
异常消息显示无法将 nil 转换为字符串。谁能看出这是什么问题?
有问题的元素,当nil 时,只是一个<org_number/>。
【问题讨论】:
-
您能告诉我们您如何解析 xml 以及如何定义方法
elements吗? -
@BroiSatse 我不确定您想看到什么,但基本上我正在循环浏览这样的 XML 文档: xmldoc.elements.each("*//advert") do |element|
-
我希望现在,这个 xmldoc 对象是如何创建的。您是否使用过一些 gem 来解析 xml?
-
我正在使用 REXML,需要 'rexml/document' 包括 REXML。和机械化。 agent=Mechanize.new page = agent.get(url) xmlBlob=page.body xmlBlob.force_encoding("UTF-8") xmldoc = Document.new(xmlBlob)
标签: ruby xml string exception null