Я пытаюсь вывести информацию на веб-страницу, взятую из API транспорта XML для проекта колледжа.Я использую рубин на рельсах и камень нокогири.Я могу взять информацию, но когда я пытаюсь вывести ее на страницу результатов, она просто пуста.
Приведенный ниже способ получения информации о API находится в соответствующем файле контроллера rails.
def results
require 'nokogiri'
@doc = Nokogiri::XML(open("http://api.irishrail.ie/realtime/realtime.asmx/getAllStationsXML"))
end
Я вижу, что информация xml передается в представление.Когда я просто помещаю <%= @doc %>
в представление, это приводит к тому, что информация в формате xml распечатывается на странице.
Однако мне, очевидно, нужно правильно отформатировать ее.У меня есть код ниже в представлении, и я также попытался поместить его в метод контроллера (минус нотация <%%>), но он, похоже, не работает.
<% @doc.xpath('//StationId').each do |station_element| %>
<%= station_element.text %>
<% end %>
Вот как выглядят данные XML:
<?xml version="1.0" encoding="UTF-8"?>
<ArrayOfObjStation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://api.irishrail.ie/realtime/">
<objStation>
<StationDesc>Belfast Central</StationDesc>
<StationAlias />
<StationLatitude>54.6123</StationLatitude>
<StationLongitude>-5.91744</StationLongitude>
<StationCode>BFSTC</StationCode>
<StationId>228</StationId>
</objStation>
<objStation>
<StationDesc>Lisburn</StationDesc>
<StationAlias />
<StationLatitude>54.514</StationLatitude>
<StationLongitude>-6.04327</StationLongitude>
<StationCode>LBURN</StationCode>
<StationId>238</StationId>
</objStation>
</ArrayOfObjStation>
Буду признателен, если кто-нибудь сможет указать, какой код мне нужен для распечатки только определенных частей данных XML,спасибо.