巴拉巴拉
小魔仙

XML_Dom4J总结

XML和Dom4j的一些相关API我都是记在本子上的,现在把他总结一下放在博客上来,顺便分享一下。顺便最近看了看markdown的语法,现在我的博客也可以支持markdown语法了,这篇文章就顺便来试试水吧。

XML指令:
例如:<?xml version="1.0" encoding="utf-8" ?>

version属性是必须属性

可选指令:

  • standalone:是否允许使用外部声明
  • encoding:使用编码格式

元素:一对标签及标签内的元素,文本,元素文本混合物
属性:元素可以拥有对应的属性,属性值必须使用单/双引号括起来

xml对大小写敏感,因此开始标签和结束标签的大小写要一致

元素必须要有结束标签

xml必要有一个根元素,但是也只能有一个根标签

元素必须正确的嵌套

实体引用:

  • &lt;----<
  • &gt;---->
  • &amp;----&
  • &apos;----'
  • &quot;----"

CDATA段:xml中某一段中内容出现大量的xml敏感字符,会使得xml易读性变差,内容可以整合成一整段话,有点类似于html中的<code></code>标签
<![CDATA[
......
......
]]>

#####################################################

xml解析

sax解析方式:速度快,一边扫描一边解析,没有内存压力。不能对节点修改。

dom解析方式:w3c推荐的处理方式,所有元素按照层次结构解析成一个node(对象),如果文件太大内存会有压力,解析时间会比较长。

dom4j-full.jar包——DOM4J的核心API,用于读取XML文档,DOM4J是一个非常优秀的Java XML API ,性能优异,功能强大,极端易用(开源),创建SAXReader来读取xml文档

public static Document readXML(String filename)throws DocumentException{
    SAXReader reader = new SAXReader();
    Document doc = reader.read(new File(filename));
    return doc;
}

来体验下markdown来写API

Dom4j基础API,,全文手打,错误见谅

对象 返回值 方法 介绍
Document void read(File file) 该方法会读取给定文件,兵将其封装到一个Document对象中
Document Element getElement() 获取当前xml文档中的元素
Element Element element(String name) 获取当前元素下指定名字的元素,若当前元素下有多个同名子元素,则返回第一个
Element List elements() 获取当前元素下的所有子元素
Element List element(String name) 获取当前元素下的指定名字的所有同名子元素
Element String getName() 获取当前元素的名字
Element String getText() 获取当前元素的文本节点
Element Attribute attribute(int index) 获取元素第index个属性(index从0开始)
Element Attribute attribute(String name) 获取元素的指定name的属性
Attribute String getName() 获取属性名
Attribute String getValue() 获取属性值

生成XML

使用DOM4J将Document写入一个文件
- 首先构建一个Document对象,使用DOM4J的DocumentHelper,它提供了一个静态方法:

static Document createDocument()

对象 返回值 方法 介绍
Document Element addElement(String name) 向document中添加根元素,该方法只应该使用一次,否则会抛出文档已经存在根元素的异常
Element Element addElement(String name) 向Element中添加根元素,并返回添加的元素
Element Element addAttribute(String name,String value) 向Element中添加给定的属性名和属性值,并返回当前元素
Element Element addText(String text) 向当前元素添加文本,并返回当前元素
XMLWriter writer = new XMLWriter(new FileOutputStream("file"));
writer.write(document);
writer.close();

document和Element都可以将元素输出为xml的字符串

Document/Element String asXML()

赞(0) 打赏
如果文章对你有帮助,欢迎你来评价反馈。AgainFly » XML_Dom4J总结

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  • Q Q(选填)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏