# Libxml iterate xml tree

**URL:** <https://www.ruby-forum.com/t/libxml-iterate-xml-tree/117815>\
**Category:** Ruby\
**Created:** [October 20, 2007, 7:45pm UTC](https://www.ruby-forum.com/t/libxml-iterate-xml-tree/117815 "2007-10-20T19:45:59Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Philipp](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/46a35a/32.png) [@Philipp](https://www.ruby-forum.com/u/Philipp)\
**Post date:** [October 20, 2007, 7:45pm UTC](https://www.ruby-forum.com/t/libxml-iterate-xml-tree/117815/1 "2007-10-20T19:45:59Z")

</div>

Hello Everyone,  
i dumped my whole saturday on a small xml problem 🙂

i have a xml document

e.g

now i want to get all door\_handle from each door ?  
i tried to iterate it with

running\_config\_xml = XML::Document.file(@running\_config\_file)  
car = running\_config\_xml.root

car.each{|door|  
door.each{|door\_handle|  
puts door\_handle[‘color’]  
}  
}

fist it looks working but every second door\_handle had no color …  
i probably iterate it wrong…

is there a trick to do this ??

thanks ahead

Philipp

---

<div class="post-metadata">

**Author:** ![Philipp](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/46a35a/32.png) [@Philipp](https://www.ruby-forum.com/u/Philipp)\
**Post date:** [October 21, 2007, 12:31pm UTC](https://www.ruby-forum.com/t/libxml-iterate-xml-tree/117815/2 "2007-10-21T12:31:01Z")

</div>

if i do it like

car.each{|door| if door.child?  
door.each{|door\_handle| if door\_handle.child?  
puts “color #{door\_handle[‘color’]}”

end }

end}

it shows only the elements with content !!  
dont know why but its working …
