perlific has asked for the wisdom of the Perl Monks concerning the following question:
Hi all, I'm trying to parse a netconf response from a Juniper switch using XML::LibXML and the XML file/content looks like this:
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:junos +="http://xml.juniper.net/junos/12.3R9/junos"> <vlan-information junos:style="terse"> <vlan-terse/> <vlan> ... </vlan> </vlan-information> </rpc-reply>
and my simple attempt to parse out some info looks like this:
my $jparser = XML::LibXML->new; my $doc = $jparser->parse_string($jnx->{'server_response'}); my @vlans = $doc->findnodes("/rpc-reply/vlan-information/vlan"); foreach my $vlan (@vlans){ my @parameters = $vlan->findnodes(" ./vlan-name| ./vlan-tag| .//vlan-member-interface|"); foreach my $param (@parameters){ print $param->localname, " : ", $param->to_literal, "\n"; } }
What I'm seeing is, I get no output.. and my troubleshooting led me to believe its something to do with the namespace details in the first line of the XML... and sure enough, if I remove the xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" in the first line, everything works fine. Any thoughts on how I should be calling the LibXML parser in order for this data to parse as is (I don't want to have to modify all the responses my code receives by stripping out the xmlns= portion) or am I just missing something here. Much thanks!
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: XML namespace question
by tangent (Parson) on Oct 08, 2015 at 00:49 UTC | |
| |
|
Re: XML namespace question
by Anonymous Monk on Oct 07, 2015 at 23:52 UTC | |
|
Re: XML namespace question
by ikegami (Patriarch) on Oct 08, 2015 at 17:48 UTC | |
|
Re: XML namespace question
by perlific (Initiate) on Oct 13, 2015 at 23:30 UTC | |
by Anonymous Monk on Oct 13, 2015 at 23:48 UTC | |
| A reply falls below the community's threshold of quality. You may see it by logging in. | |
| A reply falls below the community's threshold of quality. You may see it by logging in. | |
| A reply falls below the community's threshold of quality. You may see it by logging in. |