Java读写XML文件(DOM4J包)
2016-12-27 00:00
381 查看
#1、解析XML文件
##1.1、books.xml
##1.2、DOM4J解析类
需要导入dom4j.jar包:
##1.3、输出结果
#2、写入XML文件
##2.1、DOM4J写入类
##2.2、生成的XML文件
##1.1、books.xml
<?xml version="1.0" encoding="UTF-8"?> <bookstore> <book id="1"> <name>深入分析JavaWeb技术内幕</name> <author>许令波</author> <year>2014</year> <price>79</price> </book> <book id="2"> <name>Java并发编程实战</name> <author>Brian Goetz等</author> <year>2012</year> <price>69</price> </book> </bookstore>
##1.2、DOM4J解析类
需要导入dom4j.jar包:
package com.jtzen9.xml.read.dom4j; import java.io.File; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.dom4j.Attribute; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.SAXReader; // 解析books.xml文件 public class DOM4JTest { public static void main(String[] args) { // 创建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()); } // 遍历book的子节点 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) { e.printStackTrace(); } } }
##1.3、输出结果
=====开始遍历某一本书===== 属性名:id--属性值:1 节点名:name--节点值:深入分析JavaWeb技术内幕 节点名:author--节点值:许令波 节点名:year--节点值:2014 节点名:price--节点值:79 =====结束遍历某一本书===== =====开始遍历某一本书===== 属性名:id--属性值:2 节点名:name--节点值:Java并发编程实战 节点名:author--节点值:Brian Goetz等 节点名:year--节点值:2012 节点名:price--节点值:69 =====结束遍历某一本书=====
#2、写入XML文件
##2.1、DOM4J写入类
package com.jtzen9.xml.write; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.io.OutputFormat; import org.dom4j.io.XMLWriter; 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"); Eleme 3ff0 nt title = channel.addElement("title"); title.setText("<![CDATA[测试测试测试测试测试]]>"); //5.设置生成xml的格式(缩进和换行) OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("GBK"); //还可以设置编码格式 //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(); } }
##2.2、生成的XML文件
<?xml version="1.0" encoding="GBK"?> <rss version="2.0"> <channel> <title><![CDATA[测试测试测试测试测试]]></title> </channel> </rss>
相关文章推荐
- Java读写xml文件的一些经验(使用dom4j)
- Java dom4j 读写xml文件 Demo
- Java读写XML文件(DOM4J包)
- Java实现——Dom4j读写XML文件
- 利用DOM4J在java环境下读写xml文件的方法
- Java利用dom4j读写xml文件的简易实现
- Java读写XML文件(DOM4J包)
- Java读写XML文件的四种方式(DOM、SAX、JDOM、DOM4J)简述与比较
- Java实现——Dom4j读写XML文件
- java学习:使用dom4j读写xml文件
- Java操作XML文件 dom4j 篇
- dom4j读写xml文件
- Java操作XML文件 dom4j 篇
- Java操作XML文件 dom4j 篇【转】
- java,dom4j读取存储xml文件!收藏
- Java 对xml文件的读写操作
- dom4j读写xml文件
- Java操作XML文件 dom4j 篇
- Java操作XML文件 dom4j 篇(转载)
- 关于JAVA对XML文件的读写