require 'msxml' module Msxml class Iterator include Enumerable def initialize(node, tag_name = nil) if tag_name @children = node.getElementsByTagName(tag_name) else @children = node.childNodes end end def each(&block) for node in @children block.call(node) end end def first @children.item(0) end alias begin first end end