#!/usr/bin/perl use warnings; use strict; use XML::DOM; my $xmlstring = < Sebastian 100 SEP111111111111 CSFBLA SEP222222222222 100 PT_Intern Standard CTI Enabled Standard CTI Enabled Standard CCM End Users Standard CCM End Users Standard CCMUSER Administration END my @xml = split("\n", $xmlstring); my $suitablestring = ""; for my $i (@xml) { $i = strip($i); $suitablestring .= $i; } my $parser = new XML::DOM::Parser; my $dom = $parser->parsestring($suitablestring); sub strip { my $a = shift; $a =~ s/^\s+//; $a =~ s/\s+$//; return $a; } sub dokument { my $domina = shift; my @childNodes = $domina->getChildNodes(); for my $node (@childNodes) { if ($node->getNodeType() == ELEMENT_NODE) { print $node->getNodeName() . "\n"; } if ($node->getNodeType() == TEXT_NODE) { print "Value: " . strip($node->getNodeValue()) . "\n\n"; } &dokument($node); } } &dokument($dom);