StackOverflow を調べていましたが、ベストアンサーが見つかりません。Java で XML ファイルを読み取る必要があります。私の XML ファイルは次のようになります。
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<server>
<server01>
<department>A1</department>
<department>A2</department>
</server01>
<server02>
<department>A1</department>
<department>A2</department>
</server02>
</server>
ファイルの残りを除いて、<server01>
との間の Java 要素を読み込む可能性はありますか? <server02>
または、別のタグを使用する必要がありますか? 親ノードを読み取る方法を見つけました:
NodeList serversNames = xmlD.getDocumentElement().getChildNodes();
for (int i = 0; i < serversNames.getLength(); i++) {
Node node = serversNames.item(i);
if (node instanceof Element) {
Element childElement = (Element) node;
System.out.println("tag name: " + childElement.getTagName());
}
}
すべての部門タグを読み取り、配列に保存できます。
NodeList serverName = xmlD.getElementsByTagName("department");
serversList = new String[serverName.getLength()];
System.out.println("zasieg: " + serverName.getLength());
for (int temp = 0; temp < serverName.getLength(); temp++) {
Element shareName = null;
shareName = (Element) serverName.item(temp);
serversList[temp] = shareName.getTextContent();
System.out.println(temp + " - " + serversList[temp]);
}
繰り返しますが、親ノードのみの要素を読み取る可能性はありますか? SERVER01のみの要素?