my $text = q|
-1
ListPerformances
...etc
|;
my $doc = XML::LibXML->load_xml(string => $text);
my $xc = XML::LibXML::XPathContext->new( $doc->documentElement() );
$xc->registerNs( pfx => 'http://xmlns.sony.net/d-cinema/tms-api/v1' );
my @events = $xc->findnodes('//pfx:EventInfo');
for my $event (@events) {
my $id = $xc->findvalue('pfx:EventId', $event);
print "EventId: $id\n";
my @packs = $xc->findnodes('pfx:PreshowPackList/pfx:PreshowPack', $event);
if ( not @packs ) {
print "No Packs\n";
next;
}
for my $pack (@packs) {
my $pack_id = $xc->findvalue('pfx:PackId', $pack) || "No PackId";
print "PackId: $pack_id\n";
}
}
####
EventId: 2015060400000157
No Packs
EventId: 2015060400000164
No Packs
EventId: 2015060200000562
PackId: b863a576-d8a3-4f5d-92a7-b66f876f6d7c
PackId: No PackId
PackId: a55164d0-faa7-4c7c-a688-ed36011add95
EventId: 2015060200000563
PackId: 760eb073-81f8-45cb-8553-484c5cecb740
PackId: No PackId
PackId: a55164d0-faa7-4c7c-a688-ed36011add95