Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

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>


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.


      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.


Log In?

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

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (4)
As of 2014-09-20 19:25 GMT
Find Nodes?
    Voting Booth?

    How do you remember the number of days in each month?

    Results (160 votes), past polls