0

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のみの要素?

4

1 に答える 1