java 读取xml文件并输出

来源:互联网 发布:osi网络通信模型 编辑:程序博客网 时间:2024/05/16 19:06
第一步:添加jar包 dom4j.jar
第二步:获取绝对路径
第三步:读取输出
package test;

import org.dom4j.*;
import org.dom4j.io.*;
import java.io.*;

public class ParseXML {

StringBuffer result = new StringBuffer();
Document doc = null;
//无参数构造方法
public ParseXML() {}
//读取传入的XML文件,返回XML文档对象
public void read(String fileName) throws Exception{
       SAXReader reader = new SAXReader();
       doc = reader.read(new File(fileName));
    }

    //传入根元素启动递归遍历
public void treeWalk() {
   treeWalk(doc.getRootElement());
}
//递归遍历XML文档
public void treeWalk(Element element) {
       for (int i = 0, size = element.nodeCount(); i< size; i++) {
           Node node= element.node(i);
          //如果子节点是子元素,继续递归
           if (nodeinstanceof Element) {
           if(node.getText().trim().length()>0)result.append(node.getName()+"= ");
           elseresult.append("
联系人记录
");
              treeWalk((Element) node);             
           } else{
          //否则就输出子节点的文本值
           if(node.getText().trim().length()>0)result.append(node.getText()+"
");
           }
       }
    }
//取得XML的解析结果
public String getResult() {
return result.toString();
}
public static void main(String[] args) throws Exception{
ParseXML px=new ParseXML();
//读取XML文件,生成内存中的XML文档

px.read("aa.xml");//路径必须是绝对路径
//递归遍历内存中的XML文档

px.treeWalk();
//输出解析结果

System.out.println(px.getResult());
}
}

原创粉丝点击