Meine Frage bezieht sich auf die Erstellung der Ausgabe basierend auf der Dokumentation unter https://github.com/dam5s/happymapper, die die Gabel von happymapper mit Nokogiri ist.Happymapper (fork) - Ausgabe aus mehreren Klassen
Ich habe 2 Beispiele verwendet, um mit Dokumentation zu spielen. Das ist mein Beispiel.
xml_doc = <<EOF
<address location='home'>
<street>Milchstrasse</street>
<street>Another Street</street>
<housenumber>23</housenumber>
<postcode>26131</postcode>
<city>Oldenburg</city>
<country code="de">Germany</country>
</address>
EOF
class Address
include HappyMapper
tag 'address'
element :housenumber, Integer, :tag => "housenumber"
end
class Country
include HappyMapper
tag 'country'
attribute :code, String
content :name, String
end
outputs = Country.parse(xml_doc)
outputs.each do |output|
puts output.code
puts output.name
puts output.housenumber
end
Erwartete Ausgabe
de
Germany
23
Mein Ausgang
[email protected] ~/race (master●)$ ruby read_race.rb [ruby-2.4.0p0]
de
Germany
read_race.rb:49:in `block in <main>': undefined method `housenumber' for #<Country:0x0055e55facf798 @code="de", @name="Germany"> (NoMethodError)
from read_race.rb:46:in `each'
from read_race.rb:46:in `<main>'
Vielleicht müssen Sie der Klasse 'Country'' 'element: Hausnummer, Ganzzahl,: tag =>" Hausnummer "' hinzufügen. Da Sie keine Methode namens 'Hausnummer' definiert haben, können Sie von ihr anrufen. –
Nicht 100% sicher, gute Beispiele, die nicht ganz klar sind. In einem Beispiel erstellen sie eine Funktion in der Klasse, aber das war für has_many-Elemente. – sayth