#!/usr/bin/perl -w use XML::LibXML; use strict; use warnings; my $filename = 'topo-small-sample.xml'; ## NNM XML Topology Source File my $parser = XML::LibXML->new(); my $doc = $parser->parse_file($filename); foreach my $node($doc->findnodes('/topo/node')){ my ($nodename) = $node->findnodes('./name'); my ($caname) = $node->findnodes('./extendedAttributes/attribute'); print $nodename->to_literal, "\n", "\t", $caname->to_literal, "\t", "\n" } ########## Source file example 10B_Gate_W 172.30.1.7 Two Network Module Slots, Four WIC slots, Two Gigabit Ethernet ports 3800 family router Router Cisco 3800 Series Integrated Services Routers Cisco com.hp.nnm.capability.card.cisco.entfructrl com.hp.ov.nnm.capability.metric.cisco.env.fan com.hp.nnm.capability.metric.cpm2 NA_ID 26401 Device Category Router jfllt000fi01 jfllt000fi01.atoesa.com Microsoft Windows NT Server Server Microsoft Windows NT Servers Microsoft com.hp.nnm.capability.metric.hr com.hp.nnm.capability.metric.ietf.DISK_HOST-RESOURCES-MIB Device Category Server