【发布时间】:2016-09-23 16:14:36
【问题描述】:
我正在使用 Nokogiri 搜索从 API 收到的 XML。
fiber = doc.xpath("/*[name()='food']/*[name()='servings']/*
[name()='serving']/*[name()='fiber']").first.text
但有时,响应中缺少子元素(例如纤维)。在这种情况下,Nokogiri 返回一个 nil 对象,而我的代码抛出了相应的异常(nil:NilClass 的未定义方法 `text'),因为我正在尝试访问一个 nil 对象的 'text' 方法。
在实际尝试调用其上的“文本”方法之前,检查子元素(例如纤维)是否存在的干净而快速的方法是什么?如果它不存在,我想将该值设置为 0。我也在为其他几个子元素(例如卡路里、碳水化合物等)执行此操作
【问题讨论】:
标签: ruby-on-rails ruby nokogiri