【发布时间】:2014-12-01 01:58:34
【问题描述】:
我有一个需要用 Nokogiri 解析的 XML 文档,但是我需要过滤掉所有名称与请求的名称不匹配的“角色”节点。
本质上,我想返回一个仅包含名字和姓氏匹配所需的角色的数组。
当前状态:
除了控制器内的一个过滤/搜索行之外,我的所有代码都可以正常工作。我查看了 Nokogiri 的 filter 和 search 功能,但似乎无法达到预期的效果。
XML 输入
<xml>
<role xsi:type="director">
<firstName>Thomas</firstName>
<lastName>JONES</lastName>
<company>Jones Enterprises</company>
</role>
<role xsi:type="director">
<firstName>Thomas</firstName>
<lastName>TEST</lastName>
<company>Test Factory</company>
</role>
</xml>
控制器
firstname = 'Thomas'
lastname = 'JONES'
@results = doc.css('role').where((doc.css('firstName').text == @firstname) AND (doc.css('lastName').text == @lastname))
查看
<%= @results.each do |t| %>
<%= t.company %>
<% end %>
所需输出
Jones Enterprises
【问题讨论】:
标签: ruby-on-rails ruby nokogiri