Dom4j解析XML_动力节点Java学院整理

  

dom4j是一个Java的XML API类似于jdom,用来读写XML文件的.dom4j是一个非常非常优秀的Java XML API,具有性能优异,功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它。

  

对主流的java XML API进行的性能,功能和易用性的评测,dom4j无论在那个方面都是非常出色的。如今你可以看到越来越多的java软件都在使用dom4j来读写XML,例如hibernate,包括太阳公司自己的JAXM也用了dom4j。

  

使用Dom4j开发,需下载Dom4j相应的jar文件

  

1。官网下载:http://www.dom4j.org/dom4j-1.6.1/

  

2. dom4j是sourceforge.net上的一个开源项目,因此可以到http://sourceforge.Net/projects/dom4j下载其最新版。

  

打开dom4j-1.6.1的解压文件,在这里可以看到有医生帮助的文件夹,也有需要使用dom4j解析xml文件的dom4j-1.6.1.jar文件。我们只需要把dom4j-1.6.1.jar文件构建到我们开发的项目中就可以使用dom4j开发了。
  

  

下面我以Myeclipse创建Java项目的构建方法为例说明。
  

  

首先创建一个演示项目,在演示项目中创建一个自由文件,把dom4j-1.6.1.jar文件拷贝到自由中,然后右键dom4j-1.6.1jar文件

  

 Dom4j解析XML_动力节点Java学院整理

  

点击添加到构建路径即可构建到项目中去了。

  

备注:如果进行的是web项目开发,我们只需要把它拷贝到web - inf/lib中去即可,会自动构建到web项目中。

  

在项目开发的过程中可以参考文档文件夹的(帮助文档),找到索引。html打开,点击快速启动可以通过帮助文档进行学习dom4j进行xml的解析。

  

 Dom4j解析XML_动力节点Java学院整理

  

下面我对我认为api中重要的方法进行翻译说明如下:

  

<强>一、DOM4j中,获得文档对象的方式有三种:

     //1 .读取XML文件,获得文档对象   SAXReader读者=new SAXReader ();   文档文件=读者。读(新文件(“csdn.xml”));//2 .解析XML形式的文本,得到文档对象。   字符串文字=" & lt; csdn> & lt;/csdn>”;   文档文件=DocumentHelper.parseText(文本);//3 .主动创建文档对象。   文档文件=DocumentHelper.createDocument ();//创建根节点   根元素=document.addElement (“csdn”);之前      

<强>二、节点对象操作的方法

     //1 .获取文档的根节点。   根元素=document.getRootElement ();//2 .取得某个节点的子节点。   元素元素=node.element(“四大名著”);//3 .取得节点的文字   字符串文字=node.getText ();//4 .取得某节点下所有名为“csdn”的子节点,并进行遍历。   列表节点=rootElm.elements (“csdn”);   它=nodes.iterator (Iterator ();it.hasNext ();) {   元素榆树=(元素)it.next ();//做某事   }//5。对某节点下的所有子节点进行遍历。   它=root.elementIterator (Iterator (); it.hasNext ();) {   元素元素=(元素)it.next ();//做某事   }//6。在某节点下添加子节点   元素榆树=newElm.addElement(“朝代”);//7 .设置节点文字。   elm.setText(“明朝”);//8。删除某节点。//childElement是待删除的节点,parentElement是其父节点   parentElement.remove (childElment);//9。添加一个CDATA节点。   元素contentElm=infoElm.addElement(“内容”);contentElm.addCDATA (“cdata区域”);之前      

<强>三、节点对象的属性方法操作

     //1。取得某节点下的某属性元素根=document.getRootElement ();//属性名的名字   属性属性=root.attribute (" id ");//2 .取得属性的文字   字符串文字=attribute.getText ();//3。删除某属性属性属性=root.attribute(“大小”);root.remove(属性);//4 .遍历某节点的所有属性   根元素=document.getRootElement ();   它=root.attributeIterator (Iterator (); it.hasNext ();) {   属性属性=(属性)it.next ();   字符串文字=attribute.getText ();   System.out.println(文本);   }//5 .设置某节点的属性和文字。      newMemberElm。addAttribute(“名字”,“sitinspring”);//6 .设置属性的文字      属性属性=root.attribute(“名字”);attribute.setText (“csdn”);   之前      

<强>四,将文档写入XML文件

     //1 .文档中全为英文,不设置编码,直接写入的形式。   XMLWriter作家=new XMLWriter(新FileWriter (ot.xml "));   writer.write(文档);   writer.close ();//2 .文档中含有中文,设置编码格式写入的形式。   OutputFormat格式=OutputFormat.createPrettyPrint ();//创建文件输出的时候,自动缩进的格式   format.setEncoding (" utf - 8 ");//设置编码   XMLWriter作家=new XMLWriter (newFileWriter (“output.xml”),格式);   writer.write(文档);   writer.close ();   

Dom4j解析XML_动力节点Java学院整理