Dom4j应用总结

简介:
Dom4j是一个开源的java xml解析处理工具。是Java解析处理xml的首选工具。
 
要用好Dom4j,必须先理解xml DOM模型。举个简单例子说明下:
 
比如有个person.xml
<? xml  version ="1.0"  encoding ="GBK" ?> 
< person  no ="234" > 
     < name > 
         < firstname ></ firstname > 
         < lastname ></ lastname > 
     </ name > 
     < age >55 </ age > 
     < sex >Man </ sex > 
</ person >
 
第一行是 XML 声明。它定义 XML 的版本 (1.0) 和所使用的编码GBK。
<person>是xml的根元素,no是<person>元素的一个属性(Attribute),属性值为234。属性 (Attribute) 提供关于元素的额外信息。
<name>是一个<person>元素(Element)的子元素,<firstname>、<lastname>是其<name>的子元素,其值分别为“王、八”。呵呵。
通过这个xml,你可以知道王八的编号、姓名、年龄、性别。
 
XML DOM (XML Document Object Model) 定义一套访问和操作 XML 文档的标准方法。
 
DOM 把 XML 文档作为树结构来查看。能够通过 DOM 树来访问所有元素。可以修改或删除它们的内容,并创建新的元素。元素,它们的文本,以及它们的属性,都被认为是节点(Node)。
 
Dom4j是XML DOM的一种实现。因此DOM的概念和思想在Dom4j是一样的。
 
下面总结下DOM4j中常用的一些方法:
 
1、从文件获取Document对象
xml是存储内存活着硬盘等介质中的数据,必须经过读取才能生成Document对象。
创建一个读取工具,
SAXReader reader = SAXReader()
然后,读取文档
read(File file) 或者read(InputStream in) 来读入并生成Document对象:
Document document = reader.read();
当然这个读取工具很多,读入的方式也很多,原理就是这样的。
 
2、从String获取Document对象
Document document = DocumentHelper.parseText(String text)
 
3、将xml转为String
Node.asXML()
Node这个在这里是接口,其他Attribute, Branch, CDATA, CharacterData, Comment, Document, DocumentType, Element, Entity, ProcessingInstruction, Text都实现了Node接口,因此从这些对象上也可以使用asXML() 方法。
 
4、获取xml文档的根元素
Element rootElement = document.getRootElement()
 
5、有关Element的最常用到的api
attributeValue(String name) :获取元素String值。
elementIterator() :返回元素的所有子元素的Iterator迭代器。
elements() :返回元素包含所有子元素List。
getParent() :获取父元素Element。
getPath() :获取自己的xpath。
detach() :移除自己。
getName() :获取节点的名称。
selectNodes(String xpathExpression) :通过XPATH获取节点。
selectSingleNode(String xpathExpression) :通过XPATH获取一个节点。
getDocument() :作为一个Document返回。
 
有空在继续添加。
 


本文转自 leizhimin 51CTO博客,原文链接:http://blog.51cto.com/lavasoft/78450,如需转载请自行联系原作者
相关文章
|
6月前
|
存储 JavaScript 数据可视化
vue3+echarts应用——深度遍历html的dom结构并用树图进行可视化
vue3+echarts应用——深度遍历html的dom结构并用树图进行可视化
158 1
|
6月前
|
JavaScript 前端开发 算法
js开发:请解释什么是虚拟DOM(virtual DOM),以及它在React中的应用。
虚拟DOM是React等前端框架的关键技术,它以轻量级JavaScript对象树形式抽象表示实际DOM。当状态改变,React不直接操作DOM,而是先构建新虚拟DOM树。通过高效diff算法比较新旧树,找到最小变更集,仅更新必要部分,提高DOM操作效率,降低性能损耗。虚拟DOM的抽象特性还支持跨平台应用,如React Native。总之,虚拟DOM优化了状态变化时的DOM更新,提升性能和用户体验。
80 0
|
JavaScript 前端开发 开发者
jQuery文档对象模型DOM的实际应用
jQuery文档对象模型DOM的实际应用
53 0
|
11天前
|
缓存 编解码 JavaScript
DOM 和 BOM 在项目中应用时的性能优化方法
【10月更文挑战第19天】总之,优化 DOM 和 BOM 的性能需要综合考虑多个方面,通过合理的设计和技术手段,提升项目的运行效率和用户体验。在实际开发中,要不断地进行性能优化实践,以适应不断变化的需求和技术发展。
|
11天前
|
JavaScript 安全 物联网
DOM 和 BOM 在项目中的应用
【10月更文挑战第19天】在现代网页开发和应用项目中,DOM(文档对象模型)和 BOM(浏览器对象模型)扮演着至关重要的角色。它们为开发者提供了与网页文档和浏览器环境进行交互的能力,使项目能够实现丰富的功能和用户体验。
|
XML JavaScript Java
Java Web之JSP操作XML(XML的文档结构 语法和注释、dom4j的下载与配置 应用dom4j创建、解析和修改XML)
Java Web之JSP操作XML(XML的文档结构 语法和注释、dom4j的下载与配置 应用dom4j创建、解析和修改XML)
259 0
Java Web之JSP操作XML(XML的文档结构 语法和注释、dom4j的下载与配置 应用dom4j创建、解析和修改XML)
|
JavaScript API
DOM——事件介绍与简单应用
DOM——事件介绍与简单应用
144 0
DOM——事件介绍与简单应用
|
JavaScript 前端开发
JavaScript DOM的图片库的应用和优化
js和html分离很重要 属性: display:inline;可以实现列表横向显示 外部引用css 注意点: title是鼠标移到上面显示的内容 alt是图片加载不出来显示的内容 为了减少对网站的请求次数 应该将.
1442 0
|
XML JSON Java
Java之dom4j的简单解析和生成xml的应用
  一、dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的。dom4j是一个十分优秀的JavaXML API,具有性能优异、功能强大和极其易使用的特点,它的性能超过sun公司官方的dom技术,同时它也是一个开放源代码的软件,可以在SourceForge上找到它。
1317 0