Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re^5: XML::LibXML and namespaces

by seanc (Novice)
on Oct 04, 2014 at 08:45 UTC ( [id://1102814]=note: print w/replies, xml ) Need Help??


in reply to Re^4: XML::LibXML and namespaces
in thread XML::LibXML and namespaces

xpather.pl looks like it will prove really useful. Thanks!

I'm drifting way off topic here, but what I've got now is probably the most inefficient way of dealing with the problem:

My XML looks like this:

<user> <address name="1"> <entry name="Address line 1">street</entry> <entry name="Address line 2">suburb</entry> <entry name="Postal code">code</entry> </address> <address name="2"> <entry name="Address line 1">street2</entry> <entry name="Address line 2">suburb2</entry> <entry name="Postal code">code2</entry> </address> </user>

I want to extract each of those address lines into variables, so I'm doing this:

my ( $addr_1_line_1, $addr_1_line_2 ); for my $node ( $user->findnodes( q{ ./*[ local-name()="address" and @name = "1"] } )) { for my $subnode ( $node->findnodes( q{ ./*[ @name="Address line 1" ] } ) ) { $addr_1_line_1 = $subnode->textContent(); } for my $subnode ( $node->findnodes( q{ ./*[ @name="Address line 2" ] } ) ) { $addr_1_line_2 = $subnode->textContent(); } }
It does appear to work, but is there a more efficient way of doing this?

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1102814]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others scrutinizing the Monastery: (5)
As of 2024-03-28 14:32 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found