in reply to how to get XML::LibXML perfect xpath query ?
I don't understand why you don't get same namespace every time
Anyway, If the XML are small and you need access to just a few nodes you could you XML::Simple, for example:
use XML::Simple; use strict; use warnings; my $xml = <<XML; <?xml version="1.0" standalone="yes"?> <sdnList> <sdnEntry> <lastName>Hello world !</lastName> </sdnEntry> </sdnList > XML my $xml1 = XMLin($xml);2 my $result = $xml1->{sdnEntry}->{lastName}; print "result:$result\n"; ; $xml = <<XML; <?xml version="1.0" standalone="yes"?> <sdnList xmlns="http://tempuri.org/sdnList.xsd" > <sdnEntry> <lastName>Hello world !</lastName> </sdnEntry> </sdnList > XML my $xml2 = XMLin($xml); $result = $xml1->{sdnEntry}->{lastName}; print "result:$result\n";
I've had performance problems using xpath queries, even it was faster to instantiate the document and consumed less memory than XML::Simple, overall it was slower accessing nodes ( which makes totally sense as XML::Simple returns a hash ).
My point is if you need a simple parser ( i.e: for config files or for consuming small services once a while ) I'd stick to XML::Simple. In environments of high volume or frequent parsing of huge XML documents I would use Expat instead it is really fast.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: how to get XML::LibXML perfect xpath query ?
by ikegami (Patriarch) on Jun 13, 2010 at 00:07 UTC | |
by bluescreen (Friar) on Jun 13, 2010 at 03:45 UTC | |
by ikegami (Patriarch) on Jun 13, 2010 at 03:58 UTC | |
|
Re^2: how to get XML::LibXML perfect xpath query ?
by Kanishka.black0 (Scribe) on Jun 13, 2010 at 04:19 UTC |