我正在使用Nokogiri来解析这个XML:
<?xml version="1.0" encoding="utf-8"?>
<GetPropertiesResponse>
<Properties>
<Property>
<Id>19</Id>
<Name>Property 1</Name>
<Breakfast></Breakfast>
<Currency>GBP</Currency>
</Property>
<Property>
<Id>13</Id>
<Name>Property 2</Name>
<Breakfast>IN</Breakfast>
<Currency>EUR</Currency>
</Property>
<Property>
<Id>15</Id>
<Name>Property 3</Name>
<Breakfast>EX</Breakfast>
<Currency>GBP</Currency>
</Property>
</Properties>
</GetPropertiesResponse>
像这样:
...
doc = Nokogiri::XML(response.body)
@property = doc.xpath("//Property")
然后在我看来我正在显示每个属性名称:
<%= @property.each do |item| %>
<%= item.xpath("Name").text %><br>
<% end %>
但我的输出总是有一个神秘的0
,我不知道为什么?我的输出如下:
Property 1
Property 2
Property 3
0
答案 0 :(得分:2)
这个
<%= @property.each do |item| %>
<%= item.xpath("Name").text %><br>
<% end %>
有一个额外的=
标志
应该是:
<% @property.each do |item| %>
<%= item.xpath("Name").text %><br>
<% end %>
0是因为当@property.each
完成时,如果删除=
未返回值,则返回0