Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re: Using the XML::Parser Module

by leriksen (Curate)
on Nov 02, 2005 at 22:46 UTC ( #505160=note: print w/ replies, xml ) Need Help??


in reply to Using the XML::Parser Module

Another option is XML::GDOME, which, apart from a slightly outdated install process, seems to work well. And has XPath support out of the box. Again another case of the thin perl wrapper around the speedy C implementation. Doco is complete, but it doesnt hold anyones hand - if you know XML reasonably well, you should be fine - if your not familiar with the XML concepts, finding what you need can be difficult.

#!/usr/bin/perl -w use strict; use XML::GDOME; my $fname = '/path/to/your.xml'; my $doc = XML::GDOME->createDocFromURI($fname,GDOME_LOAD_SUBSTITUTE_EN +TITIES); # or whatever gdome options float your boat my @nodes = $doc->findnodes('/xpath/to/required/element'); foreach my $node (@nodes) { if (needToUpdateAttribute($node)) { my $attributeName = getRequiredAttrName(...); my $newValue = getNewAttrValue(...); $node->setAttribute($attributeName, $newValue); } }

...reality must take precedence over public relations, for nature cannot be fooled. - R P Feynmann


Comment on Re: Using the XML::Parser Module
Download Code
Re^2: Using the XML::Parser Module
by Aristotle (Chancellor) on Nov 02, 2005 at 22:58 UTC

    XML::GDOME is actually a wrapper around libgdome which is a wrapper around libxml2, so it’s no surprise that it supports the same things. libgdome adds full DOM Level 2 support on top of libxml2 (including the Events stuff and such); unless you need that (which few people probably do), you can just use XML::LibXML. The code you’ll write is identical in both cases.

    Makeshifts last the longest.

      Thanks guys ... the help is really appreciated :-)

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (6)
As of 2015-07-04 14:03 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (60 votes), past polls