REXML:如何在一个退出但空的文件中添加根元素?

时间:2012-10-30 04:26:39

标签: ruby rexml

我有一个空的XML页面,我称之为“users.xml”。我希望能够使用REXML创建所有内容。

require "rexml/document"
include REXML  # so that we don't have to prefix everything with REXML::...

xmlfile = File.new("users.xml")
doc = Document.new(xmlfile)

//code to save root element here...

我认为doc首先读取“users.xml”的内容,但doc中发生的更改不会传播回来。如何保存对文件的更改?

1 个答案:

答案 0 :(得分:1)

您打开文件:

doc = Document.new(xmlfile)

但你从未读过它,或者再写一次。

您需要使用以下内容:

xmlfile = File.read("users.xml")

阅读它,(这不是一种可扩展的方式,但这是一个完全不同的主题)。

使用doc = Document.new(xmlfile)将其转换为REXML文档后,需要将其写回。您可以将File.writeFile.open与块一起使用。