dom4j解析xml

XML文档的解析—dom4j

若如初见. 提交于 2020-03-30 04:03:04
XML为可扩展标记语言,它主要是用来保存数据,做配置文件,数据传输载体等。其实就是一个后缀名为.xml的文件。 XML命名规则 名称可以含字母、数字以及其他的字符 名称不能以数字或者标点符号开始 名称不能以字符 “xml”(或者 XML、Xml)开始 名称不能包含空格 文档声明 例如此声明:<?xml version="1.0" encoding="gbk" standalone="no" ?> (1)version : 解析这个xml的时候,使用什么版本的解析器解析 (2)encoding : 解析xml中的文字的时候,使用什么编码来翻译 (3)standalone:no - 该文档会依赖关联其他文档 , yes-- 这是一个独立的文档 注意:保存XML文件使用的编码格式与encoding定义的编码格式需一致,否则显示中文时会发生乱码,推荐使用UTF-8编码格式保存文档。 文档结构说明 根元素(rootElement):文档声明下来的第一个元素; 子元素(Element):除根元素的其他元素; 属性(Attribute)的定义:定义在元素里面, <元素名称 属性名称="属性的值"></元素名称>。 1 <?xml version="1.0" encoding="UTF-8"?> 2 <students> 3 <fristStu id="firstName"> 4 <name>张三

Java中四种XML解析技术

爷,独闯天下 提交于 2020-03-24 06:32:19
在平时工作中,难免会遇到把 XML 作为数据存储格式 。 面对目前种类繁多的解决方案,哪个最适合我们呢?在这篇文章中,我对这四种主流方案做一个不完全评测,仅仅针对遍历 XML 这块来测试,因为遍历 XML 是工作中使用最多的(至少我认为) 。 测试环境:   AMD 毒龙1.4G OC 1 . 5G、256M DDR333、Windows2000 Server SP4、Sun JDK 1 . 4.1+Eclipse 2.1+Resin 2.1 . 8,在 Debug 模式下测试。  XML 文件格式如下: <?xml version="1.0" encoding="GB2312"?> <RESULT> <VALUE>   <NO>A1234</NO>   <ADDR>四川省XX县XX镇XX路X段XX号</ADDR>  </VALUE>  <VALUE>   <NO>B1234</NO>   <ADDR>四川省XX市XX乡XX村XX组</ADDR>  </VALUE> </RESULT>  测试方法:   采用 JSP 端调用Bean(至于为什么采用JSP来调用,请参考: http://blog.csdn.net/rosen/archive/2004/10/15/138324.aspx ),让每一种方案分别解析10K 、 100K、1000K、10000K的 XML 文件

JAVA常用的XML解析方法

与世无争的帅哥 提交于 2020-03-04 02:10:03
转并总结自( java xml ) JAVA常用的解析xml的方法有四种,分别是DOM,JAX,JDOM,DOM4j xml文件 <?xml version="1.0" encoding="GB2312"?> <RESULT> <VALUE>    <NO>1000001</NO>    <ADDR>达达木图收费站</ADDR> </VALUE> <VALUE>    <NO>1000002</NO>    <ADDR>巴彦岱收费站</ADDR> </VALUE> </RESULT> 1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的。DOM以及广义的基于树的处理具有几个优点。首先,由于树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改。它还可以在任何时候在树中上下导航,而不是像SAX那样是一次性的处理。DOM使用起来也要简单得多。所以,针对比较简单的,并且跨平台的,可以优先选用dom   下面是方法 import java.io.*; import java.util.*; import

解析xml的4种方法详解

痴心易碎 提交于 2020-03-01 12:27:00
1. 介绍 1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的。DOM以及广义的基于树的处理具有几个优点。首先,由于树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改。它还可以在任何时候在树中上下导航,而不是像SAX那样是一次性的处理。DOM使用起来也要简单得多。 2) SAX (Simple API for XML) SAX处理的优点非常类似于流媒体的优点。分析能够立即开始,而不是等待所有的数据被处理。而且,由于应用程序只是在读取数据时检查数据,因此不需要将数据存储在内存中。这对于大型文档来说是个巨大的优点。事实上,应用程序甚至不必解析整个文档;它可以在某个条件得到满足时停止解析。一般来说,SAX还比它的替代者DOM快许多。   选择DOM还是选择SAX? 对于需要自己编写代码来处理XML文档的开发人员来说, 选择DOM还是SAX解析模型是一个非常重要的设计决策。 DOM采用建立树形结构的方式访问XML文档,而SAX采用的事件模型。   DOM解析器把XML文档转化为一个包含其内容的树

一篇习得XML

和自甴很熟 提交于 2020-02-10 21:52:49
一、什么是XML XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是 传输数据 ,而 非显示数据 XML 标签 没有被预定义 。您 需要自行定义标签 。 XML 被设计为具有自我描述性。 XML 是 W3C 的推荐标准 二、html与xml的区别 XML 不是 HTML 的替代。 XML 和 HTML 为不同的目的而设计: XML 被设计为传输和存储数据,其焦点是 数据的内容 。 ​ HTML 被设计用来显示数据,其焦点是数据的外观 。 ​ HTML 旨在显示信息,而 XML 旨在传输信息。 ​ HTML语法比较松散,xml语法严格 ​ HTML所有标签都是预先定义好的, 使用固定的标签,展示不同的内容 ​ XML当中的标签都是 自己定义 的 ​ XML用处, 数据存储、配置文件、数据传输 ​ 三、XML的基本语法 1、文档声明 可以添加以下属性 version版本号,固定1.0 encoding指定文档的码表 默认iso-8859-1 standalone指定文档是否独立yes或no是否可以引用其它文件 注:文档声明 必须放在第一行 2、规则 所有 XML 元素都 须有关闭标签 XML 标签对 大小写敏感 XML 必须 正确地嵌套 XML 文档 必须有根元素 XML 的 属性值须加引号

java学习---dom4j解析xml文档相关demo

人盡茶涼 提交于 2020-01-17 03:59:01
1.获取解析器对象SAXReader(dom4j的sax解析器) SAXReader reader = new SAXReader(); 2.解析xml文档 Document document = reader.read("src/book.xml"); 3.如果想要完成解析,必须先获取根节点 Element root = document.getRootElement(); 4.dom4j的解析必须是一层一层的解析,获取书架下面的书的节点 List<Element> books = root.elements(); 5.循环遍历,取出作者的文本内容 for (Element book : books) { Element author = book.element("作者"); System.out.println(author.getText()); } 主要代码 public static void run1 ( ) throws Exception { //使用SAXReader解析 SAXReader reader = new SAXReader ( ) ; Document document = reader . read ( "src/book.xml" ) ; Element root = document . getRootElement ( ) ; List <

Java中四种XML解析技术

为君一笑 提交于 2020-01-02 09:49:46
在平时工作中,难免会遇到把 XML 作为数据存储格式。面对目前种类繁多的解决方案,哪个最适合我们呢?在这篇文章中,我对这四种主流方案做一个不完全评测,仅仅针对遍历 XML 这块来测试,因为遍历 XML 是工作中使用最多的(至少我认为)。 预 备 测试环境:   AMD 毒龙1.4G OC 1.5G、256M DDR333、Windows2000 Server SP4、Sun JDK 1.4.1+Eclipse 2.1+Resin 2.1.8,在 Debug 模式下测试。   XML 文件格式如下: 1 <?xml version="1.0" encoding="GB2312"?> 2   <RESULT> 3   <VALUE> 4   <NO>A1234</NO> 5   <ADDR>四川省XX县XX镇XX路X段XX号</ADDR> 6   </VALUE> 7   <VALUE> 8   <NO>B1234</NO> 9   <ADDR>四川省XX市XX乡XX村XX组</ADDR> 10   </VALUE> 11   </RESULT> 测试方法:    采用 JSP 端调用Bean(至于为什么采用JSP来调用,请参考:http://blog.csdn.net/rosen/archive/2004/10/15 /138324.aspx),让每一种方案分别解析10K、100K

dom4j解析xml字符串实例

≡放荡痞女 提交于 2020-01-02 09:48:28
DOM4J 与利用DOM、SAX、JAXP机制来解析xml相比,DOM4J 表现更优秀,具有性能优异、功能强大和极端易用使用的特点,只要懂得DOM基本概念,就可以通过dom4j的api文档来解析xml。dom4j是一套开源的api。实际项目中,往往选择dom4j来作为解析xml的利器。 先来看看dom4j中对应XML的DOM树建立的继承关系 针对于XML标准定义,对应于图2-1列出的内容,dom4j提供了以下实现: 同时,dom4j的NodeType枚举实现了XML规范中定义的node类型。如此可以在遍历xml文档的时候通过常量来判断节点类型了。 常用API class org.dom4j.io.SAXReader read 提供多种读取xml文件的方式,返回一个Domcument对象 interface org.dom4j.Document iterator 使用此法获取node getRootElement 获取根节点 interface org.dom4j.Node getName 获取node名字,例如获取根节点名称为bookstore getNodeType 获取node类型常量值,例如获取到bookstore类型为1——Element getNodeTypeName 获取node类型名称,例如获取到的bookstore类型名称为Element interface org

【Java】解析Java对XML的操作

不想你离开。 提交于 2020-01-02 09:47:41
目录结构: contents structure [+] 什么是XML 解析XML 使用DOM解析 使用SAX解析 使用PULL解析 使用dom4j解析xml dom4j的部分API 打印一个XML文件的全部内容 在dom4j中应用XPath解析XML 相关的部分API XPath的路径表达式 通配符 谓语 使用java写一个XMl文件 将一个带有书籍信息的List集合解析为XML文件 Schema和DTD的区别 参考文章 1 什么是XML XML(eXtensible markup language) 是一种可扩展的标记语言 ,即使可以自定义标签的语言。 2 解析XML 2.1 XML解析的方式 XML的解析方式有很多,光开源的就有十多种:如Xerces 、JDOM 、DOM4J 、XOM 、JiBX 、KXML 、XMLBeans 、jConfig 、XStream 、XJR 等。 但是最常用的还是sax、dom、pull、dom4j。 DOM:(Document Object Model,就是文档对象模型),是W3C组织推荐的处理XML的一种方式。使用该方式解析XML文档,会把文档中的所有元素,按照其出现的层次关系,在内存中构造出树形结构。因此对内存的压力大,解析熟读慢,优点就是可以遍历和修改节点的内容。 SAX:(Simple API for XML)

Java解析XML文件的四种方法

╄→гoц情女王★ 提交于 2019-12-27 03:07:23
1.介绍 1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的。DOM 以及广义的基于树的处理具有几个优点。首先,由于树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改。它还可以在任何时候在树中上下导航,而不是像SAX那样是一次性的处理。DOM使用起来也要简单得多。 2)SAX SAX处理的优点非常类似于流媒体的优点。分析能够立即开始,而不是等待所有的数据被处理。而且,由于应用程序只是在读取数据时检查数据,因此不需要将数据存储在内存中。这对于大型文档来说是个巨大的优点。事实上,应用程序甚至不必解析整个文档;它可以在某个条件得到满足时停止解析。一般来说,SAX还比它的替代者DOM快许多。 选择DOM还是选择SAX? 对于需要自己编写代码来处理XML文档的开发人员来说, 选择DOM还是SAX解析模型是一个非常重要的设计决策。 DOM采用建立树形结构的方式访问XML文档,而SAX采用的事件模型。 DOM解析器把XML文档转化为一个包含其内容的树,并可以对树进行遍历。用DOM解析模型的优点是编程容易