如何在没有“<?xml version = ...”的情况下使用Nokogiri生成XML?
问题描述:
可能重复:
Print an XML document without the XML header line at the top如何在没有“<?xml version = ...”的情况下使用Nokogiri生成XML?
我有引入nokogiri :: XML问题::生成器。我生成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?
答
一个快速和肮脏的答案是告诉引入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>
它引发错误(文件已有一个根节点)。 但builder.parent.root.to_s没有。谢谢。你以正确的方式让我做事) – mibon 2012-01-17 13:47:39
应该是'builder.doc.root.to_xml'(或'to_s')。 – Phrogz 2012-01-18 01:44:12