Re: Counting specific elements in a XML object



Dave Adams am Donnerstag, 30. März 2006 21.12:
If I have a xml file like the following:

<?xml version='1.0'?>
<employee>
<name>John Doe</name>
<age>43</age>
<sex>M</sex>
<department>Recieving</department>
</employee>
<employee>
<name>Bob Gordon</name>
<age>50</age>
<sex>M</sex>
<department>Shipping</department>
</employee>


Is there some perl module out there that can help me get the number of
employees or in other words, the number occurences of "<employee>"?

I guess I can get it conventionally by reading in the file and doing a
count every time the script encounters "<name>". But there must be an
easier way.

Ok, let's start with:

perl -e 'while(<STDIN>){/<employee>/&&$i++};print $i' < data.xml

Anybody with an easier way in the sense of
- less typing
- more understandable
- less module imports ;-)
?

[preconditions: nothing else to do with the input; no CDATA containing
<employees>; valid XML; etc.]

Hans


.



Relevant Pages

  • RE: Counting specific elements in a XML object
    ... Counting specific elements in a XML object ... Is there some perl module out there that can help me get the number of ...
    (perl.beginners)
  • Counting specific elements in a XML object
    ... If I have a xml file like the following: ... Is there some perl module out there that can help me get the number of ... I guess I can get it conventionally by reading in the file and doing a count ...
    (perl.beginners)