使用dom4j读取XML,循环获取所有的节点,找到内容后停止,本人菜鸟一枚,大佬轻喷……
import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class XML1 {
boolean pd = true;
List<Element> nodes1 = new ArrayList<>();
public void duqu(){
try {
SAXReader reader = new SAXReader();
Document document = reader.read(new File("C:\\Users\\Administrator\\Desktop\\main\\ui.xml"));
Element root = document.getRootElement();
for (Iterator it = root.elementIterator(); it.hasNext(); ) {
Element element = (Element) it.next();
if (element.attributeValue("text").equals("甲方乙方面基群")) {
System.out.println("找到了");
} else {
nodes1.addAll(element.elements("node"));
}
}
while (pd) {
List<Element> nodes = new ArrayList<>();
for (Iterator at1 = nodes1.iterator(); at1.hasNext(); ) {
Element elm1 = (Element) at1.next();
if (elm1.attributeValue("text").equals("甲方乙方面基群")) {
System.out.println("找到了");
pd =false;
} else {
if (elm1.elements("node")!=null){
nodes.addAll(elm1.elements("node"));
}
}
}
nodes1.clear();
nodes1.addAll(nodes);
nodes.clear();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}