Az elemek megszámolása az XML fájlban

Ebben a fejezetben megtanulhatod hogyan lehet az elemeket megszámolni az XML dokumentumban az org.apache.xerces.parsers.DOMParser csomagban definiált DOM API segítségével. A program futtatásához a classpath-nak tartalmaznia kell a xercesImpl.jar és xml-apis.jar fájlokat, ezek a Xerces-től tölthetőek le.

A program leírása:

A program bekéri a fájl nevét a konzolról, ellenőrzi annak elérhetőségét. Ha a fájl létezik létrehozunk egy DOMParser osztályt az org.apache.xerces.parsers.DOMParser csomag használatával. Az objektum elemzi az XML dokumentumot, majd a program bekéri az összeszámolandó elem nevét, és összeszámolja az előfordulását az XML fájlban. Ha az elem nem létezik, 0-val tér vissza.

A minta XML fájl, Employee-Detail.xml:

<?xml version = "1.0" ?>
<Employee-Detail>

    <Employee>
        <Emp_Id>E-001</Emp_Id>
        <Emp_Name>Vinod</Emp_Name>
        <Emp_E-mail>Vinod1@yahoo.com</Emp_E-mail>
    </Employee>

    <Employee>
        <Emp_Id>E-002</Emp_Id>
        <Emp_Name>Amit</Emp_Name>
        <Emp_E-mail>Amit2@yahoo.com</Emp_E-mail>
    </Employee>

    <Employee>
        <Emp_Id>E-003</Emp_Id>
        <Emp_Name>Deepak</Emp_Name>
        <Emp_E-mail>Deepak3@yahoo.com</Emp_E-mail>
    </Employee>

</Employee-Detail>

A program, CountNodes.java:

import org.w3c.dom.*;
import org.apache.xerces.parsers.DOMParser;
import java.io.*;

public class CountNodes {

    public static void main(String[] args) {

        try{

            BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
            System.out.print("Enter file name: ");
            String str = bf.readLine();
            File file = new File(str);

            if (file.exists()) {

                DOMParser parser = new DOMParser();
                parser.parse(str);

                Document doc = parser.getDocument();
                System.out.print("Enter element that have to count: ");
                String ele = bf.readLine();
                NodeList list = doc.getElementsByTagName(ele);
                System.out.println("Number of nodes: " + list.getLength());
            }

            else {

                System.out.println("File not found!");
            }
        }

        catch (Exception e) {

            e.getMessage();
        }
    }
}

A következő fejezetben XML formátum ellenőrzéssel fogunk foglalkozni …