XML输出的开始和结束时不受欢迎的字符串

时间:2011-09-18 12:07:24

标签: ruby-on-rails xml ruby-on-rails-3.1

我将XML直接导出到文件,以避免渲染到查看所需的时间,并且它运行良好:

控制器:

  def onixout
        s = render_to_string(:template=>"isbns/onix.xml.builder") 
        send_data(s, :type=>"text/xml",:filename => "onix2.1.xml")       
  end

Builder文件很标准:

xml.instruct!(:xml, :version => "1.0", :encoding => "utf-8")
xml.declare! :DOCTYPE, :ONIXMessage, :SYSTEM, "http://www.editeur.org/onix/2.1/03/reference/onix-international.dtd"
xml.ONIXMessage do
  xml.Header do 
    if Company.where(:client_id => current_user.client_id).first.nil?
    else
      xml.FromCompany Company.where(:client_id => current_user.client_id).first.sendername 
  end 
  end 
   Isbn.where(:client_id => current_user.client_id).search(params[:q]).result.all.each do |isbn|
    xml.Product do
      xml.NotificationType isbn.notificationtype unless isbn.notificationtype.blank? 
        isbn.productcodes.each do |productcode| 
          xml.ProductIdentifier do   
#more 

但是在结果文件中,我在开始时收到一个不需要的字符串(在这种情况下为e047d):

e047d
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE ONIXMessage SYSTEM "http://www.editeur.org/onix/2.1/03/reference/onix-international.dtd">
<ONIXMessage>
  <Header>
#more

在文档末尾也有一个'0'。

知道它们是什么吗?而且,显然,如何摆脱?

0 个答案:

没有答案