Java を使用して xml(DOM) からマルチレベル タグを読み取りたいのですが、サンプル xml は次のとおりです。
<ルート> <サブクラス> <サブクラス> <サブクラス> <name>テスト1</name> <アドレス>アドレス1</アドレス> </サブクラス> <name>テスト2</name> <アドレス>アドレス2</アドレス> </サブクラス> <name>テスト3</name> <アドレス>アドレス3</アドレス> </サブクラス> </ルート>上記の xml から <name> test2 </name> と <address> address2 </address> を読み取る方法は?
サンプルコードを提供しました..しかし、値を動的に見つける必要があります。サブクラス タグを使用して bu を反復すると、すべてのデータが表示されます。<name> test2 </name> や <address> address2 </address>などの特定のデータを取得する方法を知りたいだけです。
以下は、上記のxmlを読み取っている私のJavaコードです:
NodeList fList = firstWordElement
.getElementsByTagName("root");
for (int i = 0; i < fList.getLength(); i++) {
Node firstFLNode = fList.item(i);
if (firstFLNode.getNodeType() == Node.ELEMENT_NODE) {
Element firstWdElement = (Element) firstFLNode;
NodeList firstWdList = firstWdElement.getElementsByTagName("innerclass");
for (int j = 0; j < firstWdList.getLength(); j++) {
Element firstWd1Element = (Element) firstWdList.item(j);
if (firstWd1Element.getNodeType() == Node.ELEMENT_NODE) {
String InnerName = ParseUtil.getTagValue("name", firstWd1Element);
String InnerFormat = ParseUtil.getTagValue("format", firstWd1Element);
String InnerDescription = ParseUtil.getTagValue("description", firstWd1Element);
NodeList innerClassList = firstWd1Element.getElementsByTagName("subclass");
for (int k = 0; k < innerClassList.getLength(); k++) {
Element subClassElement = (Element) innerClassList
.item(k);
if (subClassElement.getNodeType() == Node.ELEMENT_NODE) {
String InnerSubName = ParseUtil.getTagValue("name", subClassElement);
System.out.println("Innername==="+ InnerSubName);
String InnerSubFormat = ParseUtil.getTagValue("format", subClassElement);
System.out.println("Innerformat==="+ InnerSubFormat);
String InnerSubDescription = ParseUtil.getTagValue("description", subClassElement);
System.out.println("Innerdescription==="+ InnerSubDescription);
}
}
}
}
}
}