pro mg_planets, node, names
compile_opt strictarr
tag = node->getNodeName()
if (obj_isa(node, 'IDLffXMLDOMElement')) then begin
if (strlowcase(node->getTagName()) eq 'planet') then begin
name = node->getAttribute('NAME')
names = n_elements(names) eq 0L ? name : [names, name]
endif
endif
child = node->getFirstChild()
while (obj_valid(child)) do begin
mg_planets, child, names
child = child->getNextSibling()
endwhile
end
domPlanets = obj_new('IDLffXMLDOMDocument')
domPlanets->load, filename=filepath('planets.xml', subdir=['examples', 'data'])
mg_planets, domPlanets, names
print, 'Planets:'
print, '--------'
print, transpose(names)
obj_destroy, domPlanets
end