あけましておめでとうございます。
前回のからかなり時間が空いてしまったのは、筆無精っということで。
今回から数回は、自分が書いたライブラリ的なものを公開していこうと思います。
おそらく、絶対、洗練されたものではないので、指摘をお待ちしております。
とりあえず暫定的なもので進めて、気が向いたらしっかりとまとめ直す予定です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++;
}
}
}
以上終わり。