class Nokogiri::XML::Document
def create_element name, *args, &block
doc.create_element "div" { |node| node['class'] = "container" } #
doc.create_element "div", "contents", :class => "container" #
contents
doc.create_element "div", "contents" #
contents
doc.create_element "div", :class => "container" #
doc.create_element "div" #
Create an element with +name+, and optionally setting the content and attributes.
#
def create_element name, *args, &block elm = Nokogiri::XML::Element.new(name, self, &block) args.each do |arg| case arg when Hash arg.each { |k,v| key = k.to_s if key =~ NCNAME_RE ns_name = key.split(":", 2)[1] elm.add_namespace_definition ns_name, v else elm[k.to_s] = v.to_s end } else elm.content = arg end end if ns = elm.namespace_definitions.find { |n| n.prefix.nil? or n.prefix == '' } elm.namespace = ns end elm end