如何在没有“<! - ?xml version = ...”的情况下使用Nokogiri生成XML? - >

时间:2012-01-17 13:29:19

标签: ruby xml nokogiri

  

可能重复:
  Print an XML document without the XML header line at the top

我有Nokogiri :: XML :: Builder的问题。我正在使用此代码生成XML:

builder = Nokogiri::XML::Builder.new do 
    request {
        data '1'
    }
end

结果是:

<?xml version="1.0" encoding="UTF-8"?><request><data>1</data></request>

如何删除:

<?xml version="1.0" encoding="UTF-8"?>

来自我的XML?

2 个答案:

答案 0 :(得分:26)

也许只需要构建当前Document对象的根节点 - .doc - 而不是整个文档?

builder.doc.root.to_s

答案 1 :(得分:5)

快速而肮脏的答案是告诉Nokogiri重新解析结果输出,然后查看根:

require 'nokogiri'

builder = Nokogiri::XML::Builder.new do 
  request {
    data '1'
  }
end

puts Nokogiri::XML(builder.to_xml).root.to_xml

哪个输出:

<request>
  <data>1</data>
</request>