112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
|
# File 'lib/OpenNebula/XMLUtils.rb', line 112
def add_element(xpath, elems)
elems.each { |key, value|
if value.instance_of?(Hash)
if NOKOGIRI
elem = Nokogiri::XML::Node.new key, @xml.document
value.each { |k2, v2|
child = Nokogiri::XML::Node.new k2, elem
child.content = v2
elem.add_child(child)
}
@xml.xpath(xpath.to_s).first.add_child(elem)
else
elem = REXML::Element.new(key)
value.each { |k2, v2|
elem.add_element(k2).text = v2
}
@xml.elements[xpath].add_element(elem)
end
else
if NOKOGIRI
elem = Nokogiri::XML::Node.new key, @xml.document
elem.content = value
@xml.xpath(xpath.to_s).first.add_child(elem)
else
@xml.elements[xpath].add_element(key).text = value
end
end
}
end
|