我想從xml(DOM)使用java讀取多層標記,示例xml是:如何使用java從多層標記XML(DOM)讀取特定元素
<root> <subclass> <subclass> <subclass> <name>test1</name> <address>address1</address> </subclass> <name>test2</name> <address>address2</address> </subclass> <name>test3</name> <address>address3</address> </subclass> </root>如何閱讀<名稱> TEST2 < /名稱>和<地址> 地址2 < /地址>從上面的XML?
我給出了一個示例代碼..但我需要動態地查找這些值。 當我使用子類標記迭代bu時,它會提供所有數據。只是我想知道如何得到這樣<名> test2的 < /名稱>和<地址> 地址2 < /地址>具體數據。
下面是我的java代碼這是看完上面的xml:
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);
}
}
}
}
}
}