XML读写操作之DOM4J
来源:互联网 发布:淘宝内购群 编辑:程序博客网 时间:2024/05/16 15:17
DOM4J 是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,
同时它也是一个开放源代码的软件。如今你可以看到越来越多的 Java 软件都在
使用 DOM4J 来读写 XML,特别值得一提的是连 Sun 的 JAXM 也在用 DOM4J。
1.新建一个接口类
package com.wepull.xml2;public interface XmlDocument {/** * 建立XML文档 * @param fileName 文件全路径名称 */ public void createXml(String fileName); /** * 解析XML文档 * @param fileName 文件全路径名称 */ public void parserXml(String fileName); }
2.新建一个实现类
package com.wepull.xml2;import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.Writer; import java.util.Iterator; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter; public class Dom4jDemo implements XmlDocument { public void createXml(String fileName) { Document document = DocumentHelper.createDocument(); Element employees=document.addElement("employees"); Element employee=employees.addElement("employee"); Element name= employee.addElement("name"); name.setText("ddvip"); Element sex=employee.addElement("sex"); sex.setText("m"); Element age=employee.addElement("age"); age.setText("29"); try { Writer fileWriter=new FileWriter(fileName); XMLWriter xmlWriter=new XMLWriter(fileWriter); xmlWriter.write(document); xmlWriter.close(); } catch (IOException e) { System.out.println(e.getMessage()); } } public void parserXml(String fileName) { File inputXml=new File(fileName); SAXReader saxReader = new SAXReader(); try { Document document = saxReader.read(inputXml); Element employees=document.getRootElement(); for(Iterator i = employees.elementIterator(); i.hasNext();){ Element employee = (Element) i.next(); System.out.println("父节点"+employee.getName()+" "+employee.getText()); for(Iterator j = employee.elementIterator(); j.hasNext();){ Element node=(Element) j.next(); System.out.println(node.getName()+":"+node.getText()); } } } catch (DocumentException e) { System.out.println(e.getMessage()); } System.out.println("dom4j parserXml"); } }
3.新建一个xml文件,命名为book.xml
<?xml version="1.0" encoding="UTF-8"?><books> <book id="12"> <name>thinking in java</name> <price>85.5</price> </book> <book id="15"> <name>Spring in Action</name> <price>39.0</price> </book> <other> <driver>aaa</driver> <url>bbb</url> </other></books>
4.新建一个测试类
package com.wepull.xml2;/** * 测试四种xml解析方式 */public class TestXML {public static void main(String[] args) {XmlDocument test = new Dom4jDemo();String path = "D:/wepull/TestXML/src/book.xml";String path2= "D:/wepull/TestXML/src/test.xml";test.parserXml(path);test.createXml(path2);}}
5.运行并测试
你会发现当前目录下回生成一个为test.xml的文件
控制台上会打印出解析book.xml的内容
- XML读写操作之DOM4J
- XML读写之DOM4J
- dom4j操作xml的读写操作
- dom4j xml读写修改等操作
- dom4j对xml进行读写操作
- java操作xml之dom4j
- Dom4j读写xml文件
- dom4j读写xml
- dom4j读写xml文件
- dom4j读写xml文件
- dom4j读写xml文件
- dom4j读写xml文件
- dom4j读写xml文件
- dom4j 读写xml文件
- dom4j读写xml
- dom4j读写xml文件
- dom4j读写xml文件
- dom4j读写xml文件
- VirtualBox 提示虚拟硬盘空间不足( Host system reported disk full.)
- 详解Qt样式/颜色机制:调色板(QPalette)与样式表(Style Sheets)
- Shell编程积累
- 写code的规范
- 在C#中用JQuery做弹窗效果!
- XML读写操作之DOM4J
- 正则表达式收集
- Linux 套接字编程中的 5 个隐患
- eclipse开发structs 异常
- Linux下Socket编程的端口问题( Bind(): Address already in use )
- iOS开发16:使用Navigation Controller切换视图
- Android Theme使用总结
- Linux中的批量操作和文件统计问题
- 文件服务器更换用户登录