2010-07-22 58 views
2

我是Nokogiri紅寶石寶石的新手。我想知道如何讀取和寫回到一個XML文件。要求是我解析xml文件,進行一些更改並保存它。使用Nokogiri讀寫xml文件

f = File.open("elevate.xml") 
xml = Nokogiri::XML(f) 
query = Nokogiri::XML::Node.new "query", xml 
query["text"] = "bank" 
query.parent = xml.root 

f.close 

上述代碼根本不會對該文件進行任何更改。我是否必須創建新文件才能保存它?

回答

1

您可以使用xml.to_xml將文檔的XML文本作爲字符串獲取,然後以通常的方式將其寫入文件。

+0

我想nokogiri可以自動處理。好的,那可能是唯一的方法。 – Chamnap 2010-07-22 09:21:39

+0

細節會更有幫助,但很高興知道.to_xml。由於Nokogiri似乎附加到我的文件,而不是像我所期望的那樣替換目標。 – Drew 2010-09-29 14:17:00

+0

@Drew您使用的是哪個代碼,導致附加而不是替換? – mikej 2010-09-30 07:56:40