I have the following simple XML file.
<?xml version="1.0"?>
<user-mapping>
</user-mapping>
I want to add content to the user mapping using Nokogiri.
This is my code:
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
The output of the puts
are:
<?xml version="1.0"?>
<user-mapping>
</user-mapping>
<user-mapping>Gholam</user-mapping>
But when the code ends, nothing has been change in the actual XML file. Can anyone explain to me how to save my changes in the XML file?
Read the file into an in-memory XML document, modify the document as needed, then serialize the document back into the original file:
filename = 'exam.xml'
xml = File.read(filename)
doc = Nokogiri::XML(xml)
# ... make changes to doc ...
File.write(filename, doc.to_xml)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With