Ruby on rails 从Nokogiri格式化XML
我正在使用Nokogiri创建XML:Ruby on rails 从Nokogiri格式化XML,ruby-on-rails,ruby,xml,nokogiri,Ruby On Rails,Ruby,Xml,Nokogiri,我正在使用Nokogiri创建XML: class Output require 'nokogiri' def self.xml data = IncomingData.all builder = Nokogiri::XML::Builder.new do |xml| xml.root { data.each do |o| xml.id { xml.account_id_ o.account
class Output
require 'nokogiri'
def self.xml
data = IncomingData.all
builder = Nokogiri::XML::Builder.new do |xml|
xml.root {
data.each do |o|
xml.id {
xml.account_id_ o.account_id
xml.date_ o.date
xml.account_type o.account_type
xml.activity o.activity
xml.position o.position
xml.security o.security
}
end
}
end
builder.to_xml
end
end
这是我的控制器操作:
respond_to do |format|
format.xml { render xml: Output.xml }
end
这很有效:
但我需要用缩进输出它,如:
account_id
date
account_type
我怎么能做到
ruby-v
返回:
ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-darwin14.0]
# Nokogiri (1.6.7)
nokogiri--version
返回:
ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-darwin14.0]
# Nokogiri (1.6.7)
只需创建有效的散列并添加到他。要使用xml方法,请求的输出不是xml?您希望它是XML还是仅包含缩进的字符串?@Yule i want XML with indentationBuilder默认情况下应输出包含缩进的XML。@builder对象上的.to_xml方法将为您执行此操作。@cherrysoft我执行了'@builder.to_xml',但没有工作。您可以详细说明Ruby和Nokogiri库的哪些版本吗?欢迎使用堆栈溢出。答案需要不止一行;解释其工作原理,并举例说明如何执行。这更像是一个评论。