2017-06-22 61 views
0

我完全不熟悉xml。然而,對於一個項目,我不得不將一些數據導出到xml文件。我通過驗證器運行它並搜索錯誤,這當然會將我帶到這裏。我已閱讀其他問題/答案,無法收集有關修復/問題的任何見解。 我有一個對象數組,我迭代並創建屬性鍵/值對的散列。然後,我使用Gyoku來寫入以在寫入文件時將散列轉換爲xml。這是寫入xml文件的代碼片段。1:在根元素之後的文檔中的標記必須是格式良好的

File.open("#{file}","w") do |file| 
    queued.map do |att| 
    temp_hash={last_name: att.last_name.capitalize, first_name: 
    att.first_name.capitalize, 
    email: att.email, zipcode: att.zipcode, city: 
    att.city.split.map(&:capitalize)*' ', 
    street: att.street, state: att.state, phone: att.phone} 
    file.puts Gyoku.xml(temp_hash) 
    end 
end 

這是輸出到xml文件。

<lastName>G</lastName><firstName>Mike</firstName> 
<email>[email protected]</email><zipcode>83709</zipcode> 
<city>Boise</city><street>4498 South Spring Ave.</street> 
<state>ID</state><phone>(208)4568768</phone> 
<lastName>D</lastName><firstName>Mike</firstName> 
<email>[email protected]</email><zipcode>26508</zipcode> 
<city>Morgantown</city><street>1129 Edinshire Dr.</street> 
<state>WV</state><phone>(724)5555555</phone> 

不知道什麼1: 32 The markup in the document following the root element must be well-formed的含義。提前感謝您的幫助。

+1

XML文檔必須具有單個根元素。用一個父元素包裝多個元素,以使XML文檔格式良好。 – kjhughes

回答

1

XML文檔必須具有單個根元素。元素不能是隱式的(與SGML不同),因此,您的根元素是lastName(由於是文檔中的第一個開始標記)。但是,有兩個lastName元素,wheres只能有一個根元素。

因此,您需要將文檔分成兩部分,或者引入一個單獨的根元素。

+0

將輸出爲html或文本或csv或w/e時,我有一個預定義的「標題」,然後* *文件的大部分? –

相關問題