Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

remove node information by searching tag element.

by veerubiji (Sexton)
on Nov 22, 2011 at 17:46 UTC ( #939501=perlquestion: print w/ replies, xml ) Need Help??
veerubiji has asked for the wisdom of the Perl Monks concerning the following question:

Hi monks, I have one XML file like this

<datainfo> <data> <number>12</number> <branch>electronics</branch> <details> ....... </details> </data> <data> <number>23</number> <branch>computers</branch> <details> ....... </details> </data> <data> <number>12</number> <branch>science</branch> <details> ....... </details> </data> </datainfo>

I am reading that xml file using XML::LibXML and printing like this

#!/usr/bin/perl use warnings; use strict; use XML::LibXML::Reader; my $file="data.xml"; my $reader = XML::LibXML::Reader->new( IO => $file ) or die ("unab +le to open file"); while ($reader->nextElement( 'data' ) ) { my $info = $reader->readOuterXml(); } $all=$all.$info; } print $all;

Above code is not working It printing only <infolist> and </info> its not printing any data between that. I tried to extract data nodes from xml file and eliminate if any duplicate nodes by searching nuber tag and print this information into string.because I need to use this string some other process.

expected output

<datainfo> <data> <number>12</number> <branch>electronics</branch> <details> ....... </details> </data> <data> <number>23</number> <branch>computers</branch> <details> ....... </details> </data> </datainfo>

Thanks

Comment on remove node information by searching tag element.
Select or Download Code
Re: Remove node information by searching tag element
by MidLifeXis (Prior) on Nov 22, 2011 at 18:00 UTC

    This is a FAQ (see the third example). You can find this with perldoc -q unique from your command line.

    --MidLifeXis

      Actually sorry for not providing full information now I edited so please help me with that. I am not storing in a hash.

        The basic process is still the same. You record what you have seen and make processing decisions based on that data.

        doSomething($data) unless $seen{$key}++

        Providing appropriate values for $key, doSomething(), and $data are left as an exercise for the reader.

        Update: Perhaps I am misunderstanding your question. Please post what you expect to see as output given the provided input data.

        --MidLifeXis

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (9)
As of 2014-08-23 10:37 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (173 votes), past polls