使用DOM4J解析XMl文件与读取XML文件
XML文件
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book id="1">
<name>冰与火之歌</name>
<author>乔治马丁</author>
<year>2014</year>
<price>89</price>
</book>
<book id="2">
<name>安徒生童话</name>
<year>2004</year>
<price>77</price>
<language>English</language>
</book>
</bookstore>
Book实体类
 public class Book {
     private String id;
     private String name;
     private String author;
     private String year;
     private String price;
     private String language;
     // get set 方法生成即可
 }
DOM4J解析XMl文件
 public class DOM4JTest {
     private static ArrayList<Book> bookList = new ArrayList<Book>();
     /**
      * @param args
      */
     public static void main(String[] args) {
         // 解析books.xml文件
         // 创建SAXReader的对象reader
         SAXReader reader = new SAXReader();
         try {
             // 通过reader对象的read方法加载books.xml文件,获取docuemnt对象。
             Document document = reader.read(new File("src/res/books.xml"));
             // 通过document对象获取根节点bookstore
             Element bookStore = document.getRootElement();
             // 通过element对象的elementIterator方法获取迭代器
             Iterator it = bookStore.elementIterator();
             // 遍历迭代器,获取根节点中的信息(书籍)
             while (it.hasNext()) {
                 System.out.println("=====开始遍历某一本书=====");
                 Element book = (Element) it.next();
                 // 获取book的属性名以及 属性值
                 List<Attribute> bookAttrs = book.attributes();
                 for (Attribute attr : bookAttrs) {
                     System.out.println("属性名:" + attr.getName() + "--属性值:" + attr.getValue());
                 }
                 Iterator itt = book.elementIterator();
                 while (itt.hasNext()) {
                     Element bookChild = (Element) itt.next();
                     System.out.println("节点名:" + bookChild.getName() + "--节点值:" + bookChild.getStringValue());
                 }
                 System.out.println("=====结束遍历某一本书=====");
             }
         } catch (DocumentException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
         }
     }
 }
DOM4J读取XMl
public class DOM4JTest {
    private void createXML() {
        // 1.创建document对象,代表整个xml文档
        Document document = DocumentHelper.createDocument();
        // 2.创建根节点rss
        Element rss = document.addElement("rss");
        // 3.向rss节点中添加version属性
        rss.addAttribute("version", "2.0");
        // 4.生成子节点及节点内容
        Element channel = rss.addElement("channel");
        Element title = channel.addElement("title");
        Element content = title.addElement("content");
        content.setText("本周中期北方明显偏暖 多地气温较同期偏高8℃以上");
        // title.setText("<![CDATA[上海移动互联网产业促进中心正式揭牌 ]]>");
        // 5.设置生成xml的格式
        OutputFormat format = OutputFormat.createPrettyPrint();
        format.setEncoding("UTF-8");
        // 6.生成xml文件
        File file = new File("rssnews.xml");
        XMLWriter writer;
        try {
            writer = new XMLWriter(new FileOutputStream(file), format);
            // 设置是否转义,默认值是true,代表转义
            writer.setEscapeText(false);
            writer.write(document);
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    /**
     * @param args
     */
    public static void main(String[] args) {
        new DOM4JTest().createXML();
    }
}
读取XMl
使用DOM4J解析XMl文件与读取XML文件的更多相关文章
- spring 框架的xml文件如何读取properties文件数据
		
spring 框架的xml文件如何读取properties文件数据 第一步:在spring配置文件中 注意:value可以多配置几个properties文件 <bean id="pro ...
 - java读取 500M 以上文件,java读取大文件
		
java 读取txt,java读取大文件 设置缓存大小BUFFER_SIZE ,Config.tempdatafile是文件地址 来源博客http://yijianfengvip.blog.163.c ...
 - c文件二进制读取写入文件、c语言实现二进制(01)转化成txt格式文本、c读取文件名可变
		
c语言实现二进制(01)转化成txt格式文本: 下面的程序只能实现ascall对应字符转换,如果文件内出现中文字符,则会出现错误. 本程序要自己创建个文本格式的输入文件a1.txt,编译后能将文本文件 ...
 - dom4j处理xml文件,读取xml字符串,格式化xml文件
		
1.xml文件 <?xml version="1.0" encoding="UTF-8"?> <employees> <emplo ...
 - 使用Pull解析器生成XML文件和读取xml文件
		
有些时候,我们需要生成一个XML文件,生成XML文件的方法有很多,如:可以只使用一个StringBuilder组拼XML内容,然后把内容写入到文件中:或者使用DOM API生成XML文件,或者也可以使 ...
 - XML序列化器读取XML数据
		
PS:标题我还真的不知道该怎么取比较好,大家将就下吧^_^ 场景:上周接到一个任务,要求我把ASP写的会员充值功能,用ASP.NET复制一遍,没有给我需求文档,就是让我根据代码去分析业务逻辑,然后看到 ...
 - 【XML】-- C#读取XML中元素和属性的值
		
Xml是扩展标记语言的简写,是一种开发的文本格式. 啰嗦几句儿:老师布置的一个小作业却让我的脑细胞死了一堆,难的不是代码,是n多嵌套的if.foreach,做完这个,我使劲儿想:我一女孩,没有更多女孩 ...
 - php操作文件(读取写入文件)
		
一,PHP如何读取文件 PHP读取文件可以读取当前服务器或远程服务器中的文件.其步骤是:打开文件.读文件和关闭文件. 1,PHP如何打开文件 使用PHP函数fopen()打开一个文件,fopen()一 ...
 - [Python] python3 文件操作:从键盘输入、打开关闭文件、读取写入文件、重命名与删除文件等
		
1.从键盘输入 Python 2有两个内置的函数用于从标准输入读取数据,默认情况下来自键盘.这两个函数分别是:input()和raw_input(). Python 3中,不建议使用raw_input ...
 
随机推荐
- 【转】win7与VMware ubuntu虚拟机实现文件共享(最后一定要装open-vm-dkms插件)
			
原文网址:http://blog.sina.com.cn/s/blog_453b9efb01019hpl.html 一般来说,由于一些特殊的需要,会在Win7系统中利用虚拟机(VMware)安装ubu ...
 - 不是 EPUB ,而是 ePub
			
ePub 是 Electronic Publication 的缩写,意为电子出版,是一个自由的开放标准,属于一种可以“自动重新编排”的内容,也就是文字内容可以根据阅读设备的特性,以最适于阅读的方式显示 ...
 - linux cross toolsChain 交叉编译 ARM(转)
			
转载请注明出处:http://blog.csdn.net/mybelief321/article/details/9076583 安装环境 Linux版本:Ubuntu 12.04 内核版本:L ...
 - C#中使用自定义的纸张大小
			
using System.Drawing.Printing; using System.Drawing; private void Test() { PrintDocument m_pdoc = ne ...
 - POJ   3013
			
思路:ans = 每条边(u,v)*v的子树节点的w = 所有的dist[v]*w[v]之和; #include<iostream> #include<queue> #incl ...
 - 图解SVD分解
			
参考 http://www.bfcat.com/index.php/2012/03/svd-tutorial/
 - 成功安装mysql(mysql-5.5.32-winx64.msi)后,为何服务管理器里找不到MYSQL服务名?
			
解决方案: 1.打开cmd,切换到mysql的bin目录下 2. D:\Program Files\MySQL5.1\bin>mysqld.exe -install 成功后会出现:Service ...
 - bzoj 2281 [Sdoi2011]黑白棋(博弈+组合计数)
			
黑白棋(game) [问题描述] 小A和小B又想到了一个新的游戏. 这个游戏是在一个1*n的棋盘上进行的,棋盘上有k个棋子,一半是黑色,一半是白色. 最左边是白色棋子,最右边是黑色棋子,相邻的棋子颜色 ...
 - 微软 Build 2014开发者大会干货整理-1
			
微软 Build 2014开发者大会第二天的主题演讲主要包含两部分:Microsoft Azure的发展状况,以及 .NET和生态系统的发展介绍.第二天的重点整理也由此分为上下两部分.您可以在Chan ...
 - SPI协议及其工作原理浅析
			
转载自:http://bbs.chinaunix.net/thread-1916003-1-1.html一.概述. SPI, Serial Perripheral Interface, 串行外围设备接 ...