[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Recursing XML data using REXML

Carl Bourne

12/11/2007 11:59:00 PM

Hi,

I would like to process an XML file using REXML and recurse down through
some sub elements, e.g. the "group" and "cond" elements in the following
XML:



<rule>
<name>Test Rule</name>
<description>This is a test rule</description>
<order>2</order>
<group operator="all">
<cond name="condition1"/>
<group operator="not">
<cond name="condition2"/>
<group operator="not">
<cond name="condition3"/>
</group>
</group>
</group>
</rule>

However, I need to produce output that maintains the hierarchy so it can
be displayed as a nested list such as:-

<h1>Rule Name - Test Rule</h1>
<h1>Rule Description - Test Rule</h1>
<ul>
<li>group operator is all - condition name is condition 1
<ul>
<li>group operator is not - condition name is condition 2
<ul>
<li>group operator is not - condition name is condition 3</li>
</ul>
</li>
</ul>
</li>
</ul>

I can't seem to find any examples of doing this, would somebody be so
kind as to provide me with an example of how I could do this?

Regards,

Carl
--
Posted via http://www.ruby-....

5 Answers

Phrogz

12/12/2007 12:06:00 AM

0

On Dec 11, 4:59 pm, Carl Bourne <carl.bou...@intellect.co.uk> wrote:
> I would like to process an XML file using REXML and recurse down through
> some sub elements, e.g. the "group" and "cond" elements in the following
> XML:
[snip]
> However, I need to produce output that maintains the hierarchy so it can
> be displayed as a nested list such as:-

def show_element( element, level=0 )
print " "*level

# do something with the element here

# Depth-first recursion
element.children.each{ |child|
show_element( child, level+1 )
}
end

Carl Bourne

12/12/2007 4:18:00 PM

0

Gavin Kistner wrote:
> Answer here:
> http://groups.google.com/group/comp.lang.ruby/browse_frm/thread/5a948a...

Thanks for this Gavin, however the link to this seems to be broken.
Please could you confirm it.

Best Regards,

Carl
--
Posted via http://www.ruby-....

Phrogz

12/12/2007 4:30:00 PM

0

Carl Bourne wrote:
> Gavin Kistner wrote:
>> Answer here:
>> http://groups.google.com/group/comp.../browse_frm/thread/5a948a...
>
> Thanks for this Gavin, however the link to this seems to be broken.
> Please could you confirm it.

It works for me. If it's not for you, you can also go to:
http://groups.google.com/group/comp...
and find the message titled "Recursing XML data using REXML".
--
Posted via http://www.ruby-....

Carl Bourne

12/12/2007 4:36:00 PM

0

Carl Bourne wrote:
> Gavin Kistner wrote:
>> Answer here:
>> http://groups.google.com/group/comp.lang.ruby/browse_frm/thread/5a948a...
>
> Thanks for this Gavin, however the link to this seems to be broken.
> Please could you confirm it.
>
> Best Regards,
>
> Carl

Thanks Gavin,

Seems to work OK now - will give it a try. Thanks again!

Carl
--
Posted via http://www.ruby-....