Report abuse

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
require 'rubygems'
gem 'happymapper', '0.1.1'
require 'happymapper'
require 'pp'

xml = <<-EOF
<products xmlns="http://bigco.com">
  <product>
    <title> A Title</title>
    <features_bullets>
      <feature>This is feature text 1</feature>
      <feature>This is feature text 2</feature>
      <bug>This is a bug</bug>
    </features_bullets>
  </product>
</products>
EOF

class Feature
  include HappyMapper

  element :name, String, :tag => '.'
end

class FeatureBullet
  include HappyMapper

  tag 'features_bullets'
  has_many :features, Feature
  element :bug, String
end

class Product
  include HappyMapper

  element :title, String
  has_one :features_bullets, FeatureBullet
end

pp Product.parse(xml, :use_default_namespace => true)