sample.xsd #### sample.xml This event is generated when a kernel syslog message is detected. The syslog priority of the message The text of the message 6.0 Deprecated as of version 6.1.2 to address the formatting problem of forwarded syslog messages. #### use strict; use warnings; use XML::Xerces; use Data::Dumper; my $parser = XML::Xerces::XercesDOMParser->new(); $parser->setDoNamespaces(1); $parser->setDoSchema(1); $parser->setCreateEntityReferenceNodes(1); $parser->setDisableDefaultEntityResolution(0); #$parser->setValidationScheme($XML::Xerces::AbstractDOMParser::Val_Always); $parser->setErrorHandler(new XML::Xerces::PerlErrorHandler()); eval { $parser->parse($dn.$xml_file_name); }; if($@) { XML::Xerces::error($@); } my $doc = $parser->getDocument(); my $event_list = $doc->getElementsByTagName('event-def'); my $event_count = $event_list->getLength(); for(my $i=0;$i<$event_count;$i++) { my $pMap = []; my $node = $event_list->item($i); my $attr_map = $node->getAttributes(); my %attr = $node->getAttributes(); print Dumper(%attr); }