Logo

Programming-Idioms

History of Idiom 104 > diff from v17 to v18

Edit summary for version 18 by ricc:
[Ruby] shortened

Version 17

2022-04-19, 14:50:20

Version 18

2022-04-19, 14:59:27

Idiom #104 Save object into XML file

Write the contents of the object x into the file data.xml.

Idiom #104 Save object into XML file

Write the contents of the object x into the file data.xml.

Variables
x,data,xml
Variables
x,data,xml
Imports
# gem install xml-mapping
require 'xml/mapping'
Imports
# gem install xml-mapping
require 'xml/mapping'
Code
class Person
  include XML::Mapping
  attr_accessor :name, :surname, :age, :children

  text_node :from, "@from"
  text_node :name, "Name"
  text_node :surname, "Surname"
  text_node :age, "Age"
  array_node :children, "children", "ChildrenName", :class=>String, :default_value=>[]

  def initialize(name, surname, age, children=[])
    # ...
  end
end

x = Person.new('John', 'Doe', 42, %w{Alice Bob})
x.save_to_xml.write($stdout,2) 
x.save_to_file('data.xml')
Code
class Person
  include XML::Mapping
  attr_accessor :name, :surname, :age, :children

  text_node :from, "@from"
  text_node :name, "Name"
  text_node :surname, "Surname"

  def initialize(name, surname, ..)
    # ...
  end
end

x = Person.new(..)
x.save_to_xml.write($stdout,2) # nicely prints
x.save_to_file('data.xml')
Comments bubble
need to create the schema in the class.
Comments bubble
need to create the schema in the class.
Doc URL
https://stackoverflow.com/questions/58662688/xml-serialization-from-class-instance-in-ruby-with-custom-attributes
Doc URL
https://stackoverflow.com/questions/58662688/xml-serialization-from-class-instance-in-ruby-with-custom-attributes
Origin
https://multi-io.github.io/xml-mapping/#label-Example
Origin
https://multi-io.github.io/xml-mapping/#label-Example
Demo URL
https://multi-io.github.io/xml-mapping/#label-Example
Demo URL
https://multi-io.github.io/xml-mapping/#label-Example