我试图弄清楚如何通过 api 调用解析返回的 XMl,我正在使用 Nokogiri 并正在尝试使用 xpath。我想做的是显示所有已返回的“标题”属性
到目前为止,我有一个方法
def getcontact
doc = Nokogiri::XML(open(url))
doc.xpath('//xmlns:feed/xmlns:entry')
end
控制器
@mycontacts = getcontact
看法
<% @mycontacts.each do |c| %>
<%= c.xpath("//title") %>
<% end %>
XML
<entry>
<id>xxx</id>
<updated>xxx</updated>
<category scheme="xxx" term="xxx"/>
<title type="text">xxx</title>
<link rel="xxx" type="xxx" href="xxx"/>
<link rel="xxx0gmail.com/b6ea0e8ddbc4e5"/>
<link rel="xx" type="xxx" href="xxx"/> <link rel="xx" type="axx" href="xxx"/>
<gd:email rel="xxx" address="xxx" primary="xx"/>
</entry>
我没有得到任何返回,有人能指出我做错了什么吗,我还注意到返回的 XML 中有 html 标签,我可以把它去掉吗,例如 type=text 在 title 属性中
更新
所以我试过这个
doc.xpath('//xmlns:feed/xmlns:entry/xmlns:title').text
但这会将所有标题作为字符串返回
更新 2
看法
<% @mycontacts.each do |c| %>
<%= c.xpath('xmlns:title').text %><br>
<% end %>
方法
doc.xpath('//xmlns:feed/xmlns:entry')
所以这列出了我所有的标题,但如果有任何空白条目,则有一条空记录。我想现在需要从循环中删除这些
这是正确的,有更好的方法吗?
谢谢