如何使用 Nokogiri 保存我在 XML 文件中的更改
How to save my changes in XML file with Nokogiri
我有以下简单的 XML 文件。
<?xml version="1.0"?>
<user-mapping>
</user-mapping>
我想使用 Nokogiri 将内容添加到用户映射。
这是我的代码:
f = File.open("exam.xml")
doc = Nokogiri::XML(f)
puts doc.to_s
map = doc.at_css "user-mapping"
map.content = "Gholam"
puts map.to_s
doc.to_xml
f.close
puts
的输出是:
<?xml version="1.0"?>
<user-mapping>
</user-mapping>
<user-mapping>Gholam</user-mapping>
但是当代码结束时,实际 XML 文件中没有任何更改。
任何人都可以向我解释如何在 XML 文件中保存我的更改吗?
将文件读入内存XML文档,根据需要修改文档,然后将文档序列化回原始文件:
filename = 'exam.xml'
xml = File.read(filename)
doc = Nokogiri::XML(xml)
# ... make changes to doc ...
File.write(filename, doc.to_xml)
我有以下简单的 XML 文件。
<?xml version="1.0"?>
<user-mapping>
</user-mapping>
我想使用 Nokogiri 将内容添加到用户映射。
这是我的代码:
f = File.open("exam.xml")
doc = Nokogiri::XML(f)
puts doc.to_s
map = doc.at_css "user-mapping"
map.content = "Gholam"
puts map.to_s
doc.to_xml
f.close
puts
的输出是:
<?xml version="1.0"?>
<user-mapping>
</user-mapping>
<user-mapping>Gholam</user-mapping>
但是当代码结束时,实际 XML 文件中没有任何更改。 任何人都可以向我解释如何在 XML 文件中保存我的更改吗?
将文件读入内存XML文档,根据需要修改文档,然后将文档序列化回原始文件:
filename = 'exam.xml'
xml = File.read(filename)
doc = Nokogiri::XML(xml)
# ... make changes to doc ...
File.write(filename, doc.to_xml)