Java操作XML的五种方式之DOM4J和 digester
来源:互联网 发布:linux 文本全部删除 编辑:程序博客网 时间:2024/06/10 17:25
1、了解XML
1. XML,即可扩展标记语言(Extensible Markup Language),标准通用标记语言的子集,一种用于标记电子文件使其具有结构性的标记语言。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。它和JSON都是一种数据交换格式。作用:解析XML文档,创建XML文档。
2、什么是可扩展标记语言?
· 可扩展标记语言是一种很像超文本标记语言的标记语言。· 它的设计宗旨是传输数据,而不是显示数据。· 它的标签没有被预定义。您需要自行定义标签。· 它被设计为具有自我描述性。· 它是W3C的推荐标准。
3、解析XML文档的五种方式: 五种方法解析XML文档:Dom、SAX、JDOM、dom4j 、degister
准备xml文件
<?xml version="1.0" encoding="UTF-8"?> <languages cat="it"> <lang id="1"> <name>Java</name> <ide>Eclipse</ide> </lang> <lang id="2"> <name>Swift</name> <ide>Xcode</ide> </lang> <lang id="3"> <name>c#</name> <ide>Visual Studio</ide> </lang> </languages>
4、dom4j 、degister
dom4j的项目地址:http://sourceforge.net/projects/dom4j/?source=directory dom4j是一个简单的开源库,用于处理XML、 XPath和XSLT,它基于Java平台,使用Java的集合框架,全面集成了DOM,SAX和JAXP。
4.1、读取xml文件
public void readXml() throws DocumentException { //1.说去SAXReader对象 SAXReader reader = new SAXReader(); //2.获取Document对象 Document document = reader.read(this.getClass().getClassLoader().getResourceAsStream("xml/languages.xml")); //3.获取根元素 Element rootElement = document.getRootElement(); System.out.println("根元素名称:"+rootElement.getName()); String cat = rootElement.attributeValue("cat"); System.out.println("属性为cat的值为:"+cat); System.out.println("-------------------------"); //4.获取其下的子元素 List<Element> elements = rootElement.elements(); for (int i = 0; i < elements.size(); i++) { Element element = elements.get(i); System.out.println("第"+i+"个元素的名称:"+element.getName()); System.out.println("属性id为:"+element.attributeValue("id")); List<Element> children = element.elements(); for (int j = 0; j < children.size(); j++) { Element ele = children.get(j); System.out.println(ele.getName()+"="+ele.getText()); } System.out.println("-------------------------"); } }
4.2、创建xml文件
public void createXml() throws IOException { //1.获取文档 Document document = DocumentHelper.createDocument(); //2.创建跟节点 Element languages = DocumentHelper.createElement("languages"); languages.addAttribute("cat","it"); document.setRootElement(languages); //3.添加子节点 Element lang = languages.addElement("lang"); lang.addAttribute("id","1"); Element name = lang.addElement("name"); name.setText("Java"); Element ide = lang.addElement("ide"); ide.setText("Eclipse"); //输出 //输出到控制台 XMLWriter writer = new XMLWriter(); writer.write(document); //输出到文件 OutputFormat format = new OutputFormat(" ",true); XMLWriter out = new XMLWriter(new FileOutputStream("newxml.xml"),format); out.write(document); }
digester
digester原来为struts中解析xml的方式,由于其比较好,被apache单独拿出变为一个小型框架。
其使用的原理为sax。
阅读全文
1 0
- Java操作XML的五种方式之DOM4J和 digester
- Java操作XML的五种方式之DOM
- Java操作XML的五种方式之SAX
- Java操作XML的五种方式之JDom
- Java操作XML的五种方式之JDom
- java中操作xml几种方式的比较和代码示例(DOM,SAX,JDOM,DOM4J)
- java中操作xml几种方式的比较和代码示例(DOM,SAX,JDOM,DOM4J)
- java中操作xml几种方式的比较和代码示例(DOM,SAX,JDOM,DOM4J)
- java中操作xml几种方式的比较和代码示例(DOM,SAX,JDOM,DOM4J)
- Java XML解析之Digester的使用
- Java XML解析之Digester的使用
- java操作xml之dom4j
- xml和java对象的解决:Digester
- java中(DOM,SAX,JDOM,DOM4J)操作xml方式的比较和代码示例
- Java四种方式操作 xml,DOM|SAX|JDOM|DOM4J
- Java四种方式操作 xml,DOM|SAX|JDOM|DOM4J
- java(12)--xml之dom4j方式的增删改查
- Java 解析 xml 之 Digester
- 欢迎使用CSDN-markdown编辑器
- android 简单动画Animator
- 智能小车22:安装电压检测模块
- Spring的声明式事务
- 【python实战】3 决策树(代码讲解)
- Java操作XML的五种方式之DOM4J和 digester
- C++多线程——CreateThread
- Bootstrap入门
- Linux学习笔记
- 关于前两篇
- C#基础-026 九九乘法表
- javaee学习日记之java基础之Sql语句和MySql方言
- C++ Primer Notes(15)
- 用私有构造器或者枚举来强化Singleton属性