Java解析xml文件,获得相应的值

来源:互联网 发布:马云淘宝初期如何推广 编辑:程序博客网 时间:2024/06/04 18:11

  最近工作中遇到解析xml文件,并把文件中的数据保存到数据库中。下面开始介绍具体操作方法

1.创建要解析的文件test.txt文件

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
  <result>
    <book>
        <name>活着</name>
        <year>2014</year>
    </book>
    <book>
        <name>Java入门</name>
        <year>2004</year>
        <price>39</price>
        <language>English</language>
    </book>   
  </result>
</bookstore>

2.创建XmlAnalysis.java类

import java.io.File;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class XmlAnalysis {
    public static void main(String[] args) {    
        String path = "C:\\Users\\Administrator\\Desktop\\test.txt";
        File file = new File(path);
        SAXReader saxReader = new SAXReader();
        try {
            //读取文件,获得dom对象
            Document document = saxReader.read(file);
            //获取文档的根节点
            Element root = document.getRootElement();
            System.out.println("root===="+root.getName());
            //获取根节点下面的指定子节点result
            Element contactElem = root.element("result");
            System.out.println("contactElem===="+contactElem.getName());        
            //获得子节点下面的节点集合
            List<Element> elements = contactElem.elements("book");
            System.out.println(elements.size());

           //循环book节点

            for(Element e : elements){
                System.out.println("name======"+e.elementText("name"));
            }
        } catch (Exception e) {
            System.out.println(e);
        }
    }    
}

需要引入dom4j-1.6.1.jar包,版本自己选择

3.运行结果

root====bookstore
contactElem====result
2
name======活着
name======Java入门

在循环列表中,可以封装要操作的对象,进行数据的插入或者更新

原创粉丝点击