传智博客-----DOM4J的介绍

通过毕向东老师的讲解我明白了对xml的解析情况!
1. 对文档的解析方式:
 1DOM
DOM解析器使用树形模型,把XML文档转化为一个包含其内容的树,并可以对树进行遍历。
2SAX
SAX解析器采用了基于事件的模型,解析XML文档的时候可以触发一系列的事件。
3JDOM
JDOM的目的是成为Java特定文档模型,它简化与XML的交互并且比使用DOM实现更快。
4DOM4J
DOM4J是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点。
2。DOM(Document Object Model)
文档对象模型
DOM的三层模型将HTML、XML文档定义成树形结构。
文档中的标签,属性,文本等都封装成了节点对象。
封装成对象的好处就是更易于操作这些节点。
DOM本身就是对外暴露的一套API。
3.现在最流行的是dom4j
具体如下:
1.DOM在java平台上的应用
2。dom4j是一套开源的类库。
3.集成的 XPath(路径查询语言)支持、 XML Schema(约束模式文档)支持。
4具体操作:
获取到dom4j的jar包以及帮助文档。
将jar包设置到classpath中,就可以使用dom4j中提供的对象,进行xml文档的解析了。
查看帮助文档了解对象的使用。

1.创建读取对象。 SAXReader reader = new SAXReader();
2.通过读取对象的read方法获取xml文档所对应的Document对象。
 File xmlFile = new File("studentInfo.xml"); Document document = reader.read(xmlFile);
3通过文档对象的getRootElement()方法获取xml文档中的根节点。
Element rootElement =  document.getRootElement();

4.删除文档中的第一个学生节点的字符集
  static void remove() throws DocumentException{
   SAXReader reader=new SAXReader();
   Document document=reader.read(new File("students.xml"));
   Element rooElement=document.getRootElement();
   Element stuElement=rooElement.element("student");
   stuElement.remove(stuElement.attribute("num"));
   stuElement.remove(stuElement.element("mail"));
   System.out.println(document.asXML());
5.将规范的文本转成xmlDocument对象,通过parsetext方法并进行remove
  static void strToXML() throws DocumentException{
   String x="<book id='100'><name>thinkr in java</name></book>";
   Document document=DocumentHelper.parseText(x);
   Element rooElement=document.getRootElement();
   rooElement.remove(rooElement.element("name"));
   rooElement.remove(rooElement.attribute("id"));
   System.out.println(document.asXML());
6XPath介绍
1.XPath 是在 XML 文档中查找信息的语言
2。XPath 是通过元素和属性进行查找
3。简化了Dom4j查找节点的过程
使用XPath必须导入jaxen-1.1-beta-6.jar
否则出现

如果想知道dom对xml的解析详细过程的,请请我留言

你可能感兴趣的:(xml)