import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.Writer; import java.util.LinkedList; import java.util.List; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.io.OutputFormat; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter; public class Dom4jTest { /** * 方法创建一个XML文件,并设置文件节点。 * * @param 无参数 * @return void 无返回 * @exception try IOException */ public static void dom4jCreateXml() { Document doc = DocumentHelper.createDocument(); doc.addComment("这是一个保存学生信息的XML文档"); Element root = doc.addElement("students"); Element stuEle = root.addElement("student"); stuEle.addAttribute("id", "1"); Element nameEle = stuEle.addElement("name"); nameEle.setText("zhangsan"); Element sexEle = stuEle.addElement("sex"); sexEle.setText("man"); Element ageEle = stuEle.addElement("age"); ageEle.setText("20"); Writer out; try { out = new FileWriter("src/student.xml"); OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("GBK"); XMLWriter writer = new XMLWriter(out, format); writer.write(doc); writer.close(); System.out.print("生成XML文件成功"); } catch (IOException e) { System.out.print("生成XML文件失败5ee4463499dUadhh"); e.printStackTrace(); } } /** * 方法用于为XML添加一个节点 * * @param 无参数 * @return void 无返回类型 * @exception throws DocumentException, IOException */ public static void addElement() throws DocumentException, IOException { File file = new File("src/student.xml"); SAXReader reader = new SAXReader(); Document doc = reader.read(file); Element root = doc.getRootElement(); Element stuEle = root.addElement("student"); stuEle.addAttribute("id", "2"); Element nameEle = stuEle.addElement("name"); nameEle.setText("lisi"); Element sexEle = stuEle.addElement("sex"); sexEle.setText("nv"); Element ageEle = stuEle.addElement("age"); ageEle.setText("21"); XMLWriter writer = new XMLWriter(new FileWriter(file)); writer.write(doc); writer.close(); } /** * 方法用于修改某个节点的属性或值 * * @param 无参数 * @return void 无返回 * @exception throws DocumentException, IOException * */ @SuppressWarnings("unchecked") public static void modifyElement() throws DocumentException, IOException { LinkedList l; File file = new File("src/student.xml"); SAXReader reader = new SAXReader(); Document doc = reader.read(file); Element root = doc.getRootElement(); List<Element> student = root.elements("student"); for (int i = 0; i < student.size(); i++) { if (student.get(i).attributeValue("id").equals("2")) { student.get(i).element("name").setText("wangwu"); XMLWriter writer = new XMLWriter(new FileWriter(file)); writer.write(doc); writer.close(); break; } } } /** * 方法用于删除文件中的某个节点 * * @param 无参数 * @return void 无返回 * @exception throws DocumentException, IOException * */ @SuppressWarnings("unchecked") public static void deleteElement() throws DocumentException, IOException { File file = new File("src/student.xml"); SAXReader reader = new SAXReader(); Document doc = reader.read(file); Element root = doc.getRootElement(); List<Element> student = root.elements("student"); for (Element ele : student) { if (ele.attributeValue("id").equals("2")) { root.remove(ele); XMLWriter writer = new XMLWriter(new FileWriter(file)); writer.write(doc); writer.close(); break; } } } /** * 方法用于读取整个XML文件,显示各个节点的值 * * @param 无参数 * @return void 无返回类型 * @exception throws DocumentException * */ @SuppressWarnings( { "unused", "unchecked" }) private static void dom4jReadXml() throws DocumentException { File file = new File("src/em.xml"); SAXReader reader = new SAXReader(); Document doc = reader.read(file); Element root = doc.getRootElement(); List<Element> list = root.elements("student"); for (Element ele : list) { String name = ele.elementText("name"); String age = ele.elementText("age"); String sex = ele.elementText("sex"); System.out.println(name + " " + age + " " + sex); } } public static void main(String[] args) throws DocumentException { dom4jReadXml(); } }
相关推荐
此文档包含了Dom4J常用的操作(对于一般的应用足够了)和实例,可模仿开发
总的来说,Dom4j作为一个强大的XML处理工具,为开发者提供了便捷的接口和丰富的功能,无论是在简单的XML数据操作还是复杂的XML文档处理场景中,都能发挥出其优势。了解并熟练掌握Dom4j,对于提升Java开发中的XML处理...
导入后,可以按照DOM4J提供的API进行编程,快速实现XML的读写操作。 总之,DOM4J作为一款强大的XML处理工具,为Java开发者提供了丰富的功能和良好的性能,是处理XML文档的理想选择。无论是小型项目还是大型企业级...
dom4j常用方法 i.SAXReader sr = new SAXReader(); 生成解析器对象 ii.解析器对象.read(file对象); 解析文件生成Document对象 iii.文档对象.getRootElement() 获取跟元素节点 iv.元素节点.elements() 获取到指定...
DOM4J是一个强大的Java库,专门用于...无论是创建XML文档、查询XML结构还是进行XML数据操作,DOM4J都能提供简洁、高效的API。在安装和使用过程中,确保正确添加依赖并熟悉其核心API,将有助于提升XML处理的效率和质量。
本文将通过一个具体的示例代码来深入探讨DOM4j的使用方法,涵盖创建、修改XML文档的常用操作。 #### 创建XML文档 在DOM4j中,创建XML文档非常直观。首先,需要导入DOM4j相关的包: ```java import org.dom4j....
总的来说,DOM4J是XML处理领域中的一个重要工具,无论是在简单的数据提取还是复杂的文档操作中,都能提供强大而灵活的支持。了解并掌握DOM4J的使用,对于任何涉及XML的Java开发者来说都是非常有价值的技能。
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活且高效的API,使得XML的解析、创建、修改和查询变得简单易行。在Java世界中,DOM4J是与DOM、SAX和JDOM等其他XML处理库并驾齐驱的一个选择,尤其在处理...
标题提及的"dom4j_1.6.1.jar"和"dom4j_2.1.0.jar"是两个不同版本的DOM4J库的Java档案文件,DOM4J是一个非常流行的Java XML API,用于处理XML文档。这两个版本的差异在于功能、性能优化和可能存在的bug修复。描述中...
在"dom4j-2.1.3.jar"文件中,包含了DOM4J库的所有类和方法,可以用于构建、解析和操作XML文档。这个版本的DOM4J在前一版本的基础上进行了优化和更新,以适应不断发展的Java技术和XML应用场景。 "dom4j-2.1.3-...
2. **文档操作**:DOM4J提供了丰富的API,允许开发者创建、修改和删除XML元素、属性和文本。这使得在程序中动态构建和修改XML文档变得非常便捷。 3. **XPath支持**:DOM4J实现了XPath 1.0规范,允许用户通过简洁的...
DOM4j则是一个强大的Java库,用于处理XML文档,提供了丰富的API来实现XML的读取、写入、修改等操作。在这个示例中,我们将深入探讨如何利用Maven管理和DOM4j来操作XML文件。 首先,让我们了解一下Maven。Maven是...
这个"dom4j练习示例(备忘用)"压缩包很可能是包含了一些代码示例,帮助学习者理解和掌握DOM4J的核心功能。 在DOM4J中,XML文档被表示为一个树形结构,根节点是Document对象,而其他元素、属性、文本等都是其子节点。...
6. **XPath表达式操作**:DOM4J提供了XPath编译和执行的能力,允许开发者动态构建和执行XPath表达式,增强了XML文档的检索能力。 在标题中提到的“所有jar包”,除了主jar包`dom4j-1.6.1.jar`外,还有`jaxen-1.1-...
总结,DOM4J作为Java处理XML的首选工具之一,其易用性、灵活性和高效性为XML操作带来了极大的便利。了解并掌握DOM4J,对于提升XML相关项目的开发效率至关重要。通过阅读DOM4J的API文档(如`dom4j-2.0.3-javadoc.jar`...
标题提到的"所有版本的dom4j工具包"表明这是一个包含多版本DOM4J库的集合,可能包括了从早期到较新的一些版本,如dom4j-1.4.jar、dom4j-1.6.1.jar和dom4j-1.5.2.jar。这些不同版本的库可能分别对应于不同的功能特性...
8. **事件处理**:如果需要在解析或操作XML时执行某些动作,可以注册监听器或处理器,DOM4J提供了相应的API。 9. **高级功能**:包括命名空间管理、DTD处理、实体引用、XML Schema支持等进阶话题。 10. **性能优化...
1. **文档模型**:DOM4J提供了一种面向对象的XML文档模型,允许开发者以树形结构来操作XML文档。例如,可以创建、修改、删除XML元素、属性等。 2. **XPath支持**:DOM4J支持XPath表达式,这是对XML文档进行查询的...
DOM4J 是一个基于 Java 的 XML 解析包,用于解析和操作 XML 文档。它提供了一个简洁的 API,方便用户快速地解析和操作 XML 文档。DOM4J 采用了 Java 集合框架,完全支持 DOM、SAX 和 JAXP。 二、DOM4J 的主要接口 ...
DOM4J的名字来源于“Document Object Model for Java”,它采用面向对象的设计思想,提供了丰富的接口和类来操作XML。 在标题中提到的“dom4j需要的包”,主要包括了两个JAR文件和一个学习帮助文档。这两个JAR文件...