From b218c52a177e6917c48613a4ea80ea56aaebf715 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tino=20V=C3=A1zquez?= <tinova@fdi.ucm.es>
Date: Fri, 6 May 2011 14:58:24 +0200
Subject: [PATCH] bug #597: Tentative solution (cherry picked from commit
 14db7b5f8d0b2ed8224c97920df261bb2b047508)

---
 src/oca/ruby/OpenNebula/XMLUtils.rb | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/src/oca/ruby/OpenNebula/XMLUtils.rb b/src/oca/ruby/OpenNebula/XMLUtils.rb
index c4b375d60c..506bd6a2a7 100644
--- a/src/oca/ruby/OpenNebula/XMLUtils.rb
+++ b/src/oca/ruby/OpenNebula/XMLUtils.rb
@@ -104,16 +104,15 @@ module OpenNebula
         
         def retrieve_elements(filter)
             ids_array = Array.new            
-            if NOKOGIRI
-                elements=@xml.xpath(filter.to_s)
 
-                if elements.size == 0
-                    return nil
-                end
-                
-                elements.each{ |e| ids_array << e.text }
+            if NOKOGIRI
+                @xml.xpath(filter).each { |pelem|
+                    ids_array << pelem.text
+                 }
             else
-                @xml.each(filter.to_s) { |e|  ids_array << e.text }
+                @xml.elements.each(filter) { |pelem|
+                    ids_array << pelem.text
+                }
             end
             
             return ids_array