Mi_Sp
(Mi Sp)
1
I have the following xml layout:
<?xml version="1.0" encoding="UTF-8"?>
<add>
<doc>
<field name="id">prod1</field>
<field name="prodId">prodid1</field>
</doc>
<doc>
<field name="id">prod2</field>
<field name="prodId">prodid2</field>
</doc>
</add>
I am trying to use REXML via
doc.elements.each("*/doc") { |element| puts element.attributes["prod1"]
}
- without success
Any ideas? Thanks
···
--
Posted via http://www.ruby-forum.com/.
<?xml version="1.0" encoding="UTF-8"?>
<add>
<doc>
<field name="id">prod1</field>
<field name="prodId">prodid1</field>
</doc>
I am trying to use REXML via
doc.elements.each("*/doc") { |element| puts element.attributes["prod1"]
}
"doc" doesn't have an attribute of prod1 (no one does actually). For example:
REXML::Document.new(x).elements.each("*/doc"){|e| e.elements.each("field"){|f| p f.attributes; puts f.text}}
{"name"=>name='id'}
prod1
{"name"=>name='prodId'}
prodid1
{"name"=>name='id'}
prod2
{"name"=>name='prodId'}
prodid2
···
On Thu, Sep 23, 2010 at 8:50 PM, Mi Sp <mspandau@yahoo.com> wrote:
Mi Sp wrote:
unknown wrote:
<?xml version="1.0" encoding="UTF-8"?>
<add>
<doc>
<field name="id">prod1</field>
<field name="prodId">prodid1</field>
</doc>
I am trying to use REXML via
doc.elements.each("*/doc") { |element| puts element.attributes["prod1"]
}
"doc" doesn't have an attribute of prod1 (no one does actually). For
example:
REXML::Document.new(x).elements.each("*/doc"){|e| e.elements.each("field"){|f| p f.attributes; puts f.text}}
{"name"=>name='id'}
prod1
{"name"=>name='prodId'}
prodid1
{"name"=>name='id'}
prod2
{"name"=>name='prodId'}
prodid2
Thanks for the quick response. You are correct - I meant to say:
doc.elements.each("*/doc") { |element| puts
element.attributes["prodId"]}
Any ideas on how I retrieve the field value for this attribute?
Heh...I just registered so I could post on the roughly the same subject,
but this seems to work:
#!/usr/bin/ruby -w
require 'rexml/document'
include REXML
file = File.open("forum.xml")
doc = Document.new file
root = doc.root
root.elements.each("doc/field[@name='prodId']") do |element|
puts element.text
end
···
On Thu, Sep 23, 2010 at 8:50 PM, Mi Sp <mspandau@yahoo.com> wrote:
--
Posted via http://www.ruby-forum.com/\.