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文件
点击添加到构建路径即可构建到项目中去了。
备注:如果进行的是web项目开发,我们只需要把它拷贝到web - inf/lib中去即可,会自动构建到web项目中。
在项目开发的过程中可以参考文档文件夹的(帮助文档),找到索引。html打开,点击快速启动可以通过帮助文档进行学习dom4j进行xml的解析。
下面我对我认为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学院整理