Rails 4 XML в HTML

0

Я новичок в Rails и пытаюсь отобразить данный XML файл как HTML на мой взгляд. Я искал некоторое время, но я мог только найти темы о том, как визуализировать XML как HTML. Я не собираюсь делать ничего интересного, просто немного стирайте вывод в CSS. Есть ли какое-то очевидное решение для этого в Rails?

Было бы полезно иметь вывод, с которым я мог бы работать, например, с результатом запроса db, например:

@titles.each do |title|
  title.author
  title.date
end

Благодарю!

  • 0
    Если вы добавите тег ruby к своему вопросу, вы получите людей, которые будут давать вам советы по Nokogiri . У меня нет опыта с этим
  • 0
    Хорошо, спасибо, я добавил это.
Показать ещё 3 комментария
Теги:
render

1 ответ

1
Лучший ответ

Вы можете использовать Nokogiri с XML-парсером. Скажем, вы используете какой-либо API для получения ответа XML, тогда вы можете сделать что-то вроде этого:

xml = Nokogiri::XML(open(your_api_url))
items = Hash.from_xml(xml.to_xml)

note: вам нужно вызвать.to_xml в xml var, поскольку до этого он является объектом Nokogiri.

items теперь представляют собой хэш-код Ruby. Теперь вы можете создать из него объект Ruby, который затем можно использовать, как и любой другой объект ActiveRecord. Если это более чем одна entry, было бы полезно сохранить все элементы в массиве:

@all_items = Array.new

items['item'].map do |item|
  new = Item.new
  new.title = item['title‘]
  # an so on..

  @all_items << new
end

Теперь, на ваш взгляд, вы можете сделать это:

<% @all_items.each do |item| %>
  <%= item.title %>
<% end %>

Чтобы сделать эту работу, как указано выше, вам нужны эти два камня:

require 'nokogiri'
require 'open-uri'

Надеюсь, это поможет!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню