use strict; use warnings; use XML::LibXML; use Data::Dumper; my $parser = XML::LibXML->new({"encoding" => "utf-8"}); my $doc = $parser->parse_file("pm884843.xml"); my @paths = ( "/SiteStudioManifest/FragmentAssets/asset", "/SiteStudioManifest/SiteAssets/asset" ); for my $path (@paths) { my @url = map { $_->getAttributeNode("url")->getValue() } $doc->findnodes($path); print "URLs for $path:\n"; print "\t$_\n" for (@url); print "\n"; } #### C:\autoworking\perl>perl pm884843.pl URLs for /SiteStudioManifest/FragmentAssets/asset: /ucm/fragments/web_header/css/nav_ie6fix.css /ucm/fragments/css4footer/img/promotions/transpare +ncy.png /ucm/fragments/css4footer/img/bg-box-menu.gif URLs for /SiteStudioManifest/SiteAssets/asset: /ucm/groups/public/@websitestructure/documents/file/pghdr_left.jpg