如何对Nokogiri节点集进行排序?



我在Nokogiri中使用XPath解析从Google联系人API返回的XML。

def getcontact
  doc = Nokogiri::XML.parse(open(url))
  doc.xpath('//xmlns:feed/xmlns:entry[xmlns:title[node()]]')
end

我的控制器是:

def index
  @mycontacts = getcontact.to_a.paginate(:page => params[:page], :per_page => 30)
end

我的观点是:

<% @mycontacts.each do |c| %>
  <p> Name: <%= c.xpath('xmlns:title').text %>  Email: <%= c.xpath('gd:email/@address').text %></p>
<% end %>
<%= will_paginate @mycontacts %>

我想按标题的字母顺序排序,我不知道该怎么做。我已经读到,我可以使用sort_by,但我如何从数组中选择标题?

下面应该可以工作

@mycontacts.sort!{|a, b| a.xpath('xmlns:title').text <=> b.xpath('xmlns:title').text}

代码块告诉它根据.xpath('xmlns:title')进行比较。每个对象的文本

相关内容

  • 没有找到相关文章

最新更新