はじめに
この実験では、Java を使って XML ファイルを読み取る方法を学びます。Java コードを使ってファイルを読み取る方法を示すために、サンプル XML ファイルを使います。XML は、データを保存および転送するために使用されるマークアップ言語です。
この実験では、Java を使って XML ファイルを読み取る方法を学びます。Java コードを使ってファイルを読み取る方法を示すために、サンプル XML ファイルを使います。XML は、データを保存および転送するために使用されるマークアップ言語です。
サンプル XML ファイル students.xml を例として使います。このファイルには学生に関するいくつかのデータが含まれており、Java コードを使ってそれを読み取ります。
~/project
ディレクトリに新しいファイル students.xml
を作成し、以下の内容を記述します。
<students>
<student id="101">
<Name>John</Name>
<id>11001</id>
<location>India</location>
</student>
<student id="102">
<Name>Alex</Name>
<id>11002</id>
<location>Russia</location>
</student>
<student id="103">
<Name>Rohan</Name>
<id>11003</id>
<location>USA</location>
</student>
</students>
Java コードを使って XML ファイルを読み取るために、以下のライブラリを使用します。
org.w3c.dom.*
javax.xml.parsers.*
必要なライブラリをインポートするために、コードファイルの先頭に以下の文を追加します。
import org.w3c.dom.*;
import org.xml.sax.SAXException;
import javax.xml.parsers.*;
import java.io.*;
~/project
ディレクトリに新しい Java クラス Main
を作成し、以下の内容を記述します。
public class Main {
public static void main(String[] args) throws IOException, ParserConfigurationException, SAXException {
DocumentBuilderFactory dBfactory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = dBfactory.newDocumentBuilder();
// Fetch XML File
Document document = builder.parse(new File("students.xml"));
document.getDocumentElement().normalize();
//Get root node
Element root = document.getDocumentElement();
System.out.println(root.getNodeName());
//Get all students
NodeList nList = document.getElementsByTagName("student");
System.out.println(".................................");
}
}
ビルダーのインスタンスを作成し、parse
メソッドを使って XML ファイルを解析しました。その後、ドキュメントのルート要素を取得して正規化し、その名前を表示します。その後、getElementsByTagName
メソッドを使ってすべての学生を取得し、区切り線を表示します。
各要素からデータを抽出するには、ループを使ってドキュメントの各タグを反復処理します。各学生について、彼らの ID、名前、学籍番号、および所在地などの詳細を取得します。
ループ内に以下のコードを追加します。
Node node = nList.item(i);
System.out.println(); //Just a separator
if (node.getNodeType() == Node.ELEMENT_NODE) {
//Print each student's detail
Element element = (Element) node;
System.out.println("Student id : " + element.getAttribute("id"));
System.out.println("Name : " + element.getElementsByTagName("Name").item(0).getTextContent());
System.out.println("Roll No : " + element.getElementsByTagName("id").item(0).getTextContent());
System.out.println("Location : " + element.getElementsByTagName("location").item(0).getTextContent());
}
上記のコードは、XML ファイルの各要素からデータを抽出します。getAttribute
メソッドを使用して、各学生の ID を取得します。getElementsByTagName
および getTextContent
メソッドを使用して、各学生の名前、学籍番号、および所在地を取得します。
端末でコードをコンパイルして実行します。
javac Main.java && java Main
以下の出力が表示されるはずです。
students
.................................
Student id : 101
Name : John
Roll No : 11001
Location : India
Student id : 102
Name : Alex
Roll No : 11002
Location : Russia
Student id : 103
Name : Rohan
Roll No : 11003
Location : USA
この実験では、Java コードを使って XML ファイルを読み取る方法を学びました。必要なライブラリをインポートする方法、XML ファイルを解析する方法、ルート要素の各ノードを反復処理する方法、および各要素からデータを抽出する方法を学びました。この知識を使って、Java を使って任意の XML ファイルを読み取り、そこからデータを抽出することができます。