java 递归查询子节点,该怎么解决

如题所述

public class Test {
public static void main(String[] args) {
SAXReader sax=new SAXReader();
try {
String path=URLDecoder.decode(Test.class.getResource("/MyXml.xml").getPath(), "UTF-8");
try {
Document d= sax.read(new FileInputStream(new File(path)));
Element e=d.getRootElement();
List<Element> li=e.elements();
check(li);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
public static void check(List<Element> li){
if (li.size()==0) {
return;
}else{
for (Element element : li) {
if(element.attributeValue("id")!=null){
System.out.println(element.getName()+element.attributeValue("id")+"文本信息"+element.getTextTrim());
}
}
}
}

}

这是利用递归去解析XML的元素,跟找节点类似,希望能帮到你!
温馨提示:答案为网友推荐,仅供参考
相似回答