#!/usr/local/bin/perl -w use strict; use XML::Twig; my $xml_twig = XML::Twig->new( pretty_print => 'indented', NoLWP => 1, discard_spaces => 1, ); $xml_twig->parse ( \*DATA ) || die "\nError parsing data $@\n"; foreach my $element ( $xml_twig->get_xpath("/*/*") ) { $xml_twig->set_root($element); print "\n\nName : " . $element->name . "\n"; $xml_twig->print; print "\n"; } __DATA__ hello1 hello2 hello3 #### Name : level1 hello1 Name : level2 hello2 Name : level3 hello3 #### Name : level1 hello1 ...etc