xml----读取所有的根节点
邵华皓
2023-12-01
package gz.itcast.a_dom4j_read;
import java.io.File;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;
import org.junit.Test;
/**
* 第二个dom4j读取xml文件的内容
* 标签,
* 属性
* 文本
* 节点
* @author Administrator
*
*/
public class Demo2 {
/**
* 取出节点信息。
* @throws Exception
*/
@Test
public void test1()throws Exception {
SAXReader reader=new SAXReader();
Document doc =reader.read(new File("./src/zuoye.xml"));
Iterator<Node> it=doc.nodeIterator();
while(it.hasNext()){
Node node=it.next();
String name=node.getName();
System.out.println(name);
//判断当前节点是否是标签节点。
if(node instanceof Element){
Element elem=(Element)node;
Iterator<Node> it2=elem.nodeIterator();
while(it2.hasNext()){
Node node2=it2.next();
System.out.println(node2.getName());
}
}
}
}
/**
* 遍历xml文档中的所有节点
*/
@Test
public void test2() throws Exception{
SAXReader reader=new SAXReader();
Document doc=reader.read(new File("./src/zuoye.xml"));
Element rootElem=doc.getRootElement();
getChildNodes(rootElem);
}
/**
* 获取传入标签下的所有子节点
*/
private void getChildNodes(Element elem){
System.out.println(elem.getName());
Iterator<Node> it3=elem.nodeIterator();
while(it3.hasNext()){
Node node=it3.next();
if(node instanceof Element){
Element elem1=(Element)node;
getChildNodes(elem1);
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}