DOM4J核心类和关系图

  • 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工具类
    • 主要作用于创建xml文档
创建文档方法 public static Document createDocument()
创建元素方法 public static Element createElement(QName qname)
创建指定元素的属性不推荐使用 public static Attribute createAttribute(Element owner,QName qname, String value)
  • 节点描述接口:org.dom4j. Node
取得节点名称 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)
  • 文档接口:org.dom4j. Document
设置XML文件编码 public void setXMLEncoding(String encoding)
  • 元素接口:org.dom4j. Element
取得指定属性的内容 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