呈现自己创建的XML后,浏览器给出错误:“第1列第882列的错误:文档末尾的额外内容”。我的XML有效,并且只有一个根元素,但是在页面源中,我看到了其他内容:<respond_to?:to_xml/><to_xml prefixes="["static", "application"]" template= [...] />
。我认为这是问题所在。如何只在浏览器中正确显示XML文档?
@xml = Builder::XmlMarkup.new
@mats = params[:materials]
@xml.instruct! :xml, version: '1.0'
@xml.materials do
@mats.each do |mat|
@xml.material do
@xml.description(mat.description)
@xml.mbew_bklas(mat.mbew_bklas)
end
end
end
render :xml => @xml
Rails 5.2.3
Ruby 2.6.3p62
解决方案:
我将XMLBuilder更改为Nokogiri gem,现在可以正常使用了。