JAVAでXMLの読み込み

あけましておめでとうございます。

前回のからかなり時間が空いてしまったのは、筆無精っということで。

今回から数回は、自分が書いたライブラリ的なものを公開していこうと思います。

おそらく、絶対、洗練されたものではないので、指摘をお待ちしております。

とりあえず暫定的なもので進めて、気が向いたらしっかりとまとめ直す予定ですm(_ _)m

JavaのXML例では下みたいなものが多い。

<root>
    <fruit>りんご</ fruit>
    <fruit>なし</ fruit>
    <fruit>みかん</ fruit>
</root>

こう言うのではなく、ここに置いておくコードは下のようなもの。

fruit要素の中に各項目がある場合のもの。

<root>
    <fruit>
        <type>りんご</type> 

        <name>ふじ</name>
        <locality>青森</locality >
        <weight>100</weight>

    </ fruit>
    <fruit>
        <type>なし</type> 
        <name>幸水</name>
        <locality>山梨</locality >
        <weight>120</weight>      
    </ fruit >
    <fruit>
        <type>みかん</type> 
        <name>温州みかん</name>
        <locality>愛媛</locality >
        <weight>30</weight>
    </ fruit>
</root>
Document document = DocumentBuilderFactory.newInstance().
        newDocumentBuilder().parse(new File(filePath));

//指定の要素を抜き出す
NodeList element = document.getElementsByTagName("kamp");

for (int i = 0; i < element.getLength(); i++)
{
    //抜き出した要素の中から順番に、子要素を抜く出す
    NodeList list = element.item(i).getChildNodes();
    for (int j = 0, k = 0; j < list.getLength(); j++)
    {
        //抜き出した子要素の中から順番に取りだし、空白であれば登録しない
        String text = list.item(j).getNodeName();
        if (text.equals("#text") == false)
        {
            String value = list.item(j).getTextContent().trim();
            if (text.equals("type"))
            {
                System.out.println("種類:" + value);
            } else if (text.equals("name"))
            {
                System.out.println("名前:" + value);
            } else if (text.equals("locality"))
            {
                System.out.println("産地:" + value);
            } else if (text.equals("weight"))
            {
                System.out.println("重さ:" + value);
            }
            k++;
        }
    }
}

以上終わり。