Class: LibxmlExtensions::DecoratedDocument

Inherits:
SimpleDelegator
  • Object
show all
Defined in:
lib/libxml_extensions.rb

Instance Method Summary collapse

Instance Method Details

#add_xml_node_and_value(xpath, value_or_values) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/libxml_extensions.rb', line 7

def add_xml_node_and_value(xpath, value_or_values)
  if value_or_values.is_a?(Array)
    value_or_values.each {|value| add_xml_node_and_value(xpath, value)}
    return
  elsif value_or_values.is_a?(Hash)
    value_or_values.each_pair{|key, value| add_xml_node_and_value([xpath, key].join("/"), value)}
    return
  end

  node = find_or_create_node_for_xpath(xpath)
  return node if value_or_values.nil?

  node << value_or_values
  node
end