Java で XML ファイルから特定のデータを読み取る方法を見つけようとしています。DOM と SAX を使用しています。
メソッドreadLayoutFile(String areaName)
を作成していますが、プログラムは次の変数を返します: varChecked
、varGeo[][]
要求された領域に対して。
私の問題は、checked
下の値が必要であることを指定する方法です。たとえば、Triangle1 です。geometries
また、 Triangle1の下にあるすべての座標を呼び出すにはどうすればよいですか?
前もって感謝します。/クリス。
編集:これまでのところ、XMLファイル全体でほとんどのデータを読み取ることができただけで、実際にやりたいこととはほど遠い:
try {
File fXmlFile = new File("C:\\Users/Chris/Desktop/layout1.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);
doc.getDocumentElement().normalize();
NodeList areaList = doc.getElementsByTagName("area");
for (int i = 0; i < areaList.getLength(); i++) {
Node areaNode = areaList.item(i);
System.out.println();
if (areaNode.getNodeType() == Node.ELEMENT_NODE) {
Element areaElement = (Element) areaNode;
System.out.println("Area Name : " + areaElement.getAttribute("name"));
System.out.println("Checked : " + areaElement.getElementsByTagName("checked").item(0).getTextContent());
NodeList geoList = doc.getElementsByTagName("geometries");
for (int j = 0; j < geoList.getLength(); j++) {
NodeList geomList = doc.getElementsByTagName("geo");
Node geoNode = geomList.item(j);
if (geoNode.getNodeType() == Node.ELEMENT_NODE) {
Element geoElement = (Element) geoNode;
System.out.println("Geo Point " + (j+1) + ": " + geoElement.getAttribute("lat") + ", " + geoElement.getAttribute("long"));
}
}
}
}
} catch (Exception e) {
e.printStackTrace();
}