#!/usr/bin/ruby require 'xml/simple' # No closure, so changes are temporary doc = XML::Simple.open(File.dirname($0) + "/EXAMPLE.xml") node = doc.root.find("/test/names").first # append a childs node.append_child("test_node",{"attr" => 12}, "Muahaha") node.append_child("test_node", "Muahaha", {"attr" => 13}) node.append_child("test_node", {"attr" => 14}) node.append_child("test_node", "Muahaha") node.append_child("test_node") puts doc