X-man

导航

java 处理xml格式数据

 1.单个xml文件

package lia.meetlucene;

import java.io.*;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;

public class XMLReaderTest1 {

    static void Dfs(NodeList nodecur) {

        for (int j = 0; j < nodecur.getLength(); j++) {

            if ("timestamp".equals(nodecur.item(j).getNodeName())) // 输出pass
                System.out.println("时间: " + nodecur.item(j).getTextContent());
            /*
             * else if ("origtext".equals(nodecur.item(j).getNodeName()))
             * System.out.println("原微博: " + nodecur.item(j).getTextContent());
             */
            else if ("text".equals(nodecur.item(j).getNodeName())) // 输出code
                System.out.println("微博: " + nodecur.item(j).getTextContent());
            NodeList childNodes = nodecur.item(j).getChildNodes();
            Dfs(childNodes);
        }
    }

    public static void main(String args[]) {
        Element element = null;
        // 可以使用绝对路劲
        File f = new File(
                "C:/Users/Administrator/Desktop/xdj/tengxun/a_46o41785/2014-05-08 09.26.05.xml");
        // documentBuilder为抽象不能直接实例化(将XML文件转换为DOM文件)
        DocumentBuilder db = null;
        DocumentBuilderFactory dbf = null;
        try {
            // 返回documentBuilderFactory对象
            dbf = DocumentBuilderFactory.newInstance();
            // 返回db对象用documentBuilderFatory对象获得返回documentBuildr对象
            db = dbf.newDocumentBuilder();
            // 得到一个DOM并返回给document对象
            Document dt = db.parse(f);
            // 得到一个elment根元素
            element = dt.getDocumentElement();
            // 获得根节点
            System.out.println("根元素:" + element.getNodeName());
            // 获得根元素下的子节点
            
            Dfs(element.getChildNodes());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
View Code

 

 

2.多文件夹里的xml文件

package lia.meetlucene;

import java.io.File;
import java.io.IOException;
import java.util.LinkedList;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;

public class Unicode1 {

    static void Dfs(NodeList nodecur) {
        for (int j = 0; j < nodecur.getLength(); j++) {

            if ("timestamp".equals(nodecur.item(j).getNodeName())) // 输出pass
                System.out.println("时间: " + nodecur.item(j).getTextContent());
            /*
             * else if ("origtext".equals(nodecur.item(j).getNodeName()))
             * System.out.println("原微博: " + nodecur.item(j).getTextContent());
             */
            else if ("text".equals(nodecur.item(j).getNodeName())) // 输出code
                System.out.println("微博: " + nodecur.item(j).getTextContent());
            NodeList childNodes = nodecur.item(j).getChildNodes();
            Dfs(childNodes);
        }
    }

    public static void main(String[] args) throws IOException {

        long a = System.currentTimeMillis();

        // String dataDir ="C:/Users/Administrator/Desktop/xdj/tengxun/A__Vae";
        File dir = new File("C:/Users/Administrator/Desktop/xdj/tengxun");
        LinkedList list = new LinkedList();
        File file[] = dir.listFiles();
        for (int i = 0; i < file.length; i++) {
            if (file[i].isDirectory())
                list.add(file[i]);
        }
        File tmp;
        int num = 0;
        while (!list.isEmpty()) {
            tmp = (File) list.removeFirst();
            file = tmp.listFiles();
            for (int i = 0; i < file.length; i++) {
                System.out.println(file[i].getAbsolutePath());

                Element element = null;
                // documentBuilder为抽象不能直接实例化(将XML文件转换为DOM文件)
                DocumentBuilder db = null;
                DocumentBuilderFactory dbf = null;
                try {
                    // 返回documentBuilderFactory对象
                    dbf = DocumentBuilderFactory.newInstance();
                    // 返回db对象用documentBuilderFatory对象获得返回documentBuildr对象
                    db = dbf.newDocumentBuilder();
                    // 得到一个DOM并返回给document对象
                    Document dt = db.parse(file[i]);
                    // 得到一个elment根元素
                    element = dt.getDocumentElement();
                    // 获得根节点
                    System.out.println("根元素:" + element.getNodeName());
                    // 获得根元素下的子节点

                    Dfs(element.getChildNodes());

                    num++;
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }

            System.out.println(System.currentTimeMillis() - a + "    " + num);
        }
    }
}
View Code

 

posted on 2015-04-18 13:00  雨钝风轻  阅读(486)  评论(0编辑  收藏  举报