企业如何进行网站推广,商城网站开发周期,网站建设专家是干嘛的,成都网站建设加推广公司Dom4j是什么东西? dom4j是一个Java的XML API#xff0c;类似于jdom#xff0c;用来读写XML文件的。dom4j是一个非常优秀的Java XML API#xff0c;具有性能优异、功能强大和极端易用使用的特点#xff0c;同时它也是一个开放源代码的软件#xff0c;可以在SourceFor…Dom4j是什么东西? dom4j是一个Java的XML API类似于jdom用来读写XML文件的。dom4j是一个非常优秀的Java XML API具有性能优异、功能强大和极端易用使用的特点同时它也是一个开放源代码的软件可以在SourceForge上找到它。在IBM developerWorks上面可以找到一篇文章对主流的Java XML API进行的性能、功能和易用性的评测dom4j无论在那个方面都是非常出色的。如今你可以看到越来越多的Java软件都在使用dom4j来读写 XML特别值得一提的是连Sun的JAXM也在用dom4j。这是必须使用的jar包,Hibernate用它来读写配置文件dom4j需要导入 dom4j-full.jar包. Dom4j家庭成员 主要API都在org.dom4j这个包里定义 1.Attribute Attribute定义了XML的属性 2.Branch Branch为能够包含子节点的节点如XML元素(Element)和文档(Docuemnts)定义了一个公共的行为 3.CDATA CDATA 定义了XML CDATA 区域 4.CharacterData CharacterData是一个标识借口标识基于字符的节点。如CDATAComment, Text. 5. Comment Comment 定义了XML注释的行为 6. Document 定义了XML文档 7.DocumentType DocumentType 定义XML DOCTYPE声明 8. Element Element定义XML 元素 9. ElementHandler ElementHandler定义了 Element 对象的处理器 10. ElementPath 被 ElementHandler 使用用于取得当前正在处理的路径层次信息 11. Entity Entity定义 XML entity 12. Node Node为所有的dom4j中XML节点定义了多态行为 13. NodeFilter NodeFilter 定义了在dom4j节点中产生的一个滤镜或谓词的行为predicate 14. ProcessingInstruction ProcessingInstruction 定义 XML 处理指令. 15. Text Text 定义XML 文本节点. 16. Visitor Visitor 用于实现Visitor模式. 17. XPath XPath 在分析一个字符串后会提供一个XPath 表达式 Dom4j如何干活? 1.利用dom4j创建一个XML文件: view plaincopy to clipboardprint? package com.xml; import java.io.FileWriter; import java.io.IOException; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.io.OutputFormat; import org.dom4j.io.XMLWriter; public class CreateXML { public static void main(String[] args) { XMLWriter writer null; try { // 1.document构建器 Document doc DocumentHelper.createDocument(); // 2.添加元素(根) Element students doc.addElement(students); Element student1 students.addElement(student); // 添加属性; student1.addAttribute(stuno, s001); // 添加子元素 student1.addElement(stuname).setText(刘光蓝); student1.addElement(stusex).setText(男); student1.addElement(stuage).setText(25); //设置输出格式 OutputFormat formatOutputFormat.createPrettyPrint(); format.setEncoding(UTF-8); writer new XMLWriter(new FileWrite(d:/student.xml),format); writer.write(doc); System.out.println(生成XML成功); } catch (Exception e) { e.printStackTrace(); } finally { try { writer.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } 2.利用dom4j读取一个XML文件: view plaincopy to clipboardprint? package com.xml; import java.io.File; import java.util.List; import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.Node; import org.dom4j.io.SAXReader; public class ReaderXML { public static void main(String[] args) { try { SAXReader saxReadernew SAXReader(); Document docsaxReader.read(new File(d:/student.xml)); //利用XPath来访问元素,属性 // /students/student[1] 指定某个元素 // /students/student/stuno 指定某个属性 // /students/student[stunos002]做判断 List datadoc.selectNodes(/students/student); for(Node node:data){ //node.asXML() 以字符串的格式打印XML if(Element.equals(node.getNodeTypeName())){ Element element(Element)node; //读取属性值 System.out.println(element.attributeValue(stuno)); //读取子元素文本值 System.out.println(element.elementText(stuname)); System.out.println(element.elementText(stusex)); System.out.println(element.elementText(stuage)\n); } } } catch (Exception e) { e.printStackTrace(); } } } 3.利用dom4j修改一个XML文件: view plaincopy to clipboardprint? package com.xml; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.util.List; import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.Node; import org.dom4j.io.OutputFormat; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter; public class UpdateXMLData { public static void main(String[] args) { XMLWriter writer null; try { SAXReader saxReader new SAXReader(); Document doc saxReader .read(new File(d:/student.xml)); List data doc .selectNodes(/students/student[stunos002]); for (Node node : data) { if (Element.equals(node.getNodeTypeName())) { Element temp (Element) node; //修改student的stuno属性值 temp.setAttributeValue(stuno, stu002); } } OutputFormat format OutputFormat.createPrettyPrint(); format.setEncoding(UTF-8); writer new XMLWriter(new FileWriter(d:/student.xml), format); writer.write(doc); System.out.println(修改成功); } catch (Exception e) { e.printStackTrace(); } finally { try { writer.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }