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();
        }
    }
}

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);
        }
    }
}

时间: 2024-08-29 08:48:39

java 处理xml格式数据的相关文章

Android使用DOM生成和输出XML格式数据

Android使用DOM生成和输出XML格式数据 本文主要简单讲解如何使用DOM生成和输出XML数据. 1. 生成和输出XML数据 代码及注释如下: try { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); //创建一个新的Document对象,并非获取 Document xmlDocume

Controller接收处理json、xml格式数据

1.RequestBody接收json格式的数据,并直接转为对象. User.java使用lombok依赖包 @Data @AllArgsConstructor @NoArgsConstructor @ToString public class User{ private int id; private String name; } UserController.java @Controller public class UserController { @GetMapping("/testJs

ios网络学习------8 xml格式数据的请求处理 用代码块封装

#pragma mark 加载xml - (void)loadXML { //获取网络数据. NSLog(@"load xml"); //从web服务器加载数据 NSString *str = @"http://www.baidu.com?format=xml"; //这里是乱写的 //1简历NSURL NSURL *url = [NSURL URLWithString:str]; //2建立NSURLRequest NSURLRequest *request =

Android之解析XML格式数据

作用:在网络上传输数据时最常用的格式有两种,XML 和 JSON.解析XML格式数据获得与后台交互的信息. 种类: 3种:Pull 解析方式:SAX 解析方式:DOM解析方式. 1.使用Pull解析器解析XML文档Pull解析器的运行方式和SAX解析器很相似,它提供了类似的事件,比如文档开始.文档结束.开始元素和结束元素等.使用parser.next()方法可以进入下一个元素并触发相应的事件.各种事件均已数字的形式被发送,因此可以在程序中使用一个switch语句来对事件进行选择,然后进行相应的事

iOS开发之解析XML格式数据

XML格式的数据是一种数据的传输格式.因为它方便编写.结构清晰,所以深受程序猿的喜爱,非常多人都喜欢使用XML格式数据传输或者作为程序的配置信息. 如今我将来实如今iOS中解析XML格式数据,语言使用Swift. 首先自己写一个简单的XML: <data> <person age="15">zhangsan</person> <person age="2">lisi</person> <person&

R语言XML格式数据导入与处理

数据解析 XML是一种可扩展标记语言,它被设计用来传输和存储数据.XML是各种应用程序之间进行数据传输的最常用的工具.它与Access,Oracle和SQL Server等数据库不同,数据库提供了更强有力的数据存储和分析能力,例如:数据索引.排序.查找.相关一致性等,它仅仅是存储数据.事实上它与其他数据表现形式最大的不同是:它极其简单,这是一个看上去有点琐细的优点,但正是这点使它与众不同. 针对XML格式数据,R语言XML包可以对其进行数据导入与处理,详见下面的案例说明. 案例1 直接输入一段标

iOS dom解析xml格式数据

问题描述:接口返回的是xml格式数据,而且节点名居然都是相同的,采用了dom解析最终解决 一.文件导入 1.下载GDataXMLNode.h 和 GDataXMLNode.m文件,导入工程(csdn文件下载链接:http://download.csdn.net/detail/wusangtongxue/9502292) 2.配置环境: (1)改成ARC环境(-fno-objc-arc): (2)找到“Paths\Header Search Paths”项,并添加“/usr/include/lib

JAVA操作JSON格式数据

由于近些日子公司在弄微信项目,而微信官方API所提供的接口当中,有些需要以POST方式进行请求,且数据传输格式要求为JSON格式数据,之前没怎么研究过,而且传递的数据格式相对也比较简单,所以直接都是采用的字符串拼接的方式进行组装的,之后再用String.format格式化一下就好了. //需要提交的json数据 String jsonData = "{\"openid\":\"%s\",\"to_groupid\":%d}";

PHP、Java输出json格式数据

  PHP 输出json. $result = mysql_query($sql); //查询结果 $users=array(); $i=0; while($row=mysql_fetch_array($result,MYSQL_ASSOC)){ $users[$i]=$row; $i++; } echo json_encode(array("result"=>"success",'data'=>$users));   防止输出json数据乱码,把数据转