Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

XML::LibXML count nodes

by elgato (Novice)
on Nov 17, 2011 at 15:23 UTC ( [id://938632]=perlquestion: print w/replies, xml ) Need Help??

elgato has asked for the wisdom of the Perl Monks concerning the following question:

Hi. It there any good way to get number of found nodes on xpath query? Smth like this:
my $doc = $parser->parse_file($file); print length(@{$doc->findnodes('//category')})
I just need nodes count without making foreach counter (have many rows). Thanks in advance.

Replies are listed 'Best First'.
Re: XML::LibXML count nodes
by choroba (Cardinal) on Nov 18, 2011 at 08:44 UTC
    Use XPath function count:
    my $count = $doc->findvalue("count(//category)");
Re: XML::LibXML count nodes
by Anonymous Monk on Nov 17, 2011 at 15:27 UTC
      Seems like what i've needed! Thanks! PS: LibXML docs suck =\
Re: XML::LibXML count nodes
by Lotus1 (Vicar) on Nov 17, 2011 at 19:10 UTC

    Try this:

    print scalar(@{$doc->findnodes('//category')});

    I've done it by assigning the nodes to an array and then just printing the number of elements in the array.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (3)
As of 2024-04-25 05:35 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found