DOM4J核心类和关系图
其他
2019-01-03 14:31:29
阅读次数: 0
- java本身提供的XML解析工具
- DOM解析(w3c规范):将整个xml文件加载到内存中,支持对xml文件的读取和增删改查,但是缺点就是读取操作太过繁琐,如果xml文件过大速度会大大降低.
- SAX解析(非w3c规范):按照文件顺序,逐行读取xml文件,所占内存小,适合读取大型xml文件,支持事件处理,但是缺点是无法进行xml数据输出,而却解析器实现难度较大,不能够回读.
- 于是后来出现了另一个JDOM解析,JDOM解析和DOM解析采用都是同一个解析器,JDOM将DOM和SAX的优点结合起来,简化了DOM读取操作的过程,简化了输出DOM树的操作.但是本质上没有什么区别.
DOM4J–更强大的解析工具
-
DOM4J解析xml文件比DOM和SAX还有JDOM都要更强大.但是DOM4J并不是Java官方提供的操作接口,要使用DOM4J可以到官网中下载DOM4J.jar包,将jar包导入到项目中即可使用.
-
DOM4j解析的好处在与简化了,xml文档数据的增删改查和xml文档的输出操作,方便了开发人员的操作,便于理解.
-
DOM4J的核心类关系图
认识DOM4j核心类
- org.dom4j.DocumentHelper工具类
|
|
创建文档方法 |
public static Document createDocument() |
创建元素方法 |
public static Element createElement(QName qname) |
创建指定元素的属性不推荐使用 |
public static Attribute createAttribute(Element owner,QName qname, String value) |
|
|
取得节点名称 |
public String getName() |
设置节点名称 |
public void setName(String name) |
取得父元素 |
public Element getParent()如果该节点是根节点,则返回null |
取得元素文本 |
public String getText() |
设置元素内容 |
public void setText(String text) |
设置父元素 |
public void setParent(Element parent) |
输出 |
public void write(Writer writer) throws IOException |
- org.dom4j. Branch接口,描述节点的公共行为
|
|
追加子元素 |
public void add(Element element) |
创建并追加新的子元素 |
public Element addElement(String name) |
取得指定索引的node元素 |
public Node node(int index) throws IndexOutOfBoundsException |
取得节点个数 |
public int nodeCount() |
返回包含这个分支下的所有子节点的Iterator集合,便于输出使用 |
public Iterator nodeIterator() |
删除指定元素 |
public boolean remove(Element element) |
|
|
设置XML文件编码 |
public void setXMLEncoding(String encoding) |
|
|
取得指定属性的内容 |
public String attributeValue(QName qName) |
取得所有属性个数 |
public int attributeCount() |
返回指定名称元素以Iterator方式返回元素 |
public Iterator elementIterator(String name) |
返回指定名称的所有元素 |
public List elements(String name) |
返回并删除空格信息 |
public String elementTextTrim(String name) |
- org.dom4j.io.OutputFormat:输出格式化类
|
|
创建压缩输出(输出的数据不含有缩进空格) |
public static OutputFormat createCompactFormat() |
美化输出(数据间含有缩进空格) |
public static OutputFormat createPrettyPrint() |
- 输出类:org.dom4j.io. XMLWriter
|
|
构造方法,指定输出来源,和指定输出格式 |
public XMLWriter(OutputStream out, OutputFormat format) throws UnsupportedEncodingException |
输出整个xml文件 |
public void write(Document doc) throws IOException |
转载自blog.csdn.net/qq_43386754/article/details/85651049