最近,突然感到可能要解析xml,所以就又复习了一下dom4j,当然解析xml的包以及方法很多,dom4j只是其中的一种,也不知道现在都用些什么。写点程序就当是笔记了。
package com.xml.dom4j.test;
import java.util.Iterator;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.Node;
public class Dom4jTest {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer();
//产生xml
sb.append("<Songs><song>");
sb.append("<mp3 kbs=\"128\" size=\"6128\">");
sb.append("<id3><title>Simon</title>");
sb.append("</id3></mp3></song></Songs>");
try{
Document document = DocumentHelper.parseText(sb.toString());
treeWalk(document);
}catch(Exception e){
e.printStackTrace();
}
}
public static void treeWalk(Document document) {
treeWalk( document.getRootElement() );
}
public static void treeWalk(Element element) {
for ( int i = 0, size = element.nodeCount(); i < size; i++ ) {
Node node = element.node(i);
//打印该element的name
System.out.println(element.getName());
//打印element所含node的name
System.out.println(node.getName());
//对名为mp3的element进行操作
if(element.getName().equals("mp3")){
//获取属性size的值
Attribute attribute=element.attribute("size");
String text=attribute.getText();
System.out.println(text);
}
if ( node instanceof Element ) {
treeWalk( (Element) node );
}
else {
//获取element的内容
System.out.println(element.getText());
}
}
}
}
以上只是对dom4j的简单应用,对于复杂的应用还需要学习。
分享到:
相关推荐
尽管DOM4J功能强大,但在某些特定情况下,如需要高度优化的性能或内存使用,可能需要考虑其他XML处理库,如StAX(Streaming API for XML)或VTD-XML。不过对于大多数常规XML处理任务,DOM4J已经足够胜任,并且由于其...
下面将详细探讨DOM4J的主要特性、使用方法以及它如何优化XML处理。 1. **DOM4J的基本概念** - DOM4J的核心思想是提供一个灵活的、面向对象的模型来处理XML文档,包括元素、属性、文本节点等。 - 它不仅支持标准的...
它能够与DOM4J、JDOM、XOM等多个XML API协同工作,让开发者能够在不同的XML环境中使用XPath表达式。Jaxen提供了API来评估XPath表达式,返回匹配的节点集,以及执行XPath函数和操作。 **Sitemesh-2.2.1.jar** ...
在提供的"TestDom4jLog4j"项目中,应该包含了使用DOM4j处理XML和log4j记录日志的示例代码,通过阅读和运行这些代码,可以更好地理解DOM4j和log4j的使用方法。对于初学者来说,这是一个很好的实践和学习资源。
例如,一个Java应用可能使用`log4j`记录用户登录、操作日志,同时利用`dom4j`解析XML配置文件以动态配置应用的行为。 在提供的压缩包中,`lo4j_jar包`包含了`log4j`的库文件,开发者可以直接引入到项目中使用。而`...
DOM4J 1.6.1的JavaDoc包含了这个库的所有类、接口、方法、构造函数及其详细说明,是开发人员理解和使用DOM4J库的重要参考资料。 以下是一些关键的知识点: 1. **Element 和 Document**: DOM4J的核心类包括`Element...
dom4j是一个灵活且功能强大的Java XML API,它提供了一种高效且易于使用的结构来读取、构建、修改和写入XML文档。dom4j-1.6.1是其一个版本,包含了对XML解析、操作和序列化的全面支持。 1. XML解析:dom4j采用事件...
相比于Java自带的DOM和SAX解析器,`dom4j`更加易于使用,性能也更优。它支持XPath查询,能够直接操作XML文档的元素、属性和文本内容。 例如,以下是一个简单的`dom4j`代码示例,演示了如何读取和修改XML文档: ```...
- 日志记录:XML格式的日志文件可以通过DOM4J进行分析和处理。 - 数据绑定:将XML数据映射到Java对象,如JAXB就是基于这种思想实现的。 总结来说,DOM4J是Java开发中处理XML文档不可或缺的工具,它提供了一整套完善...
**DOM4J解析递归详解** DOM4J是Java中一个强大的XML处理库,它提供了丰富的API用于XML的解析、创建、操作以及遍历。在处理复杂的XML文档时,经常需要用到递归方法来深入到XML的各个层级进行访问。本文将深入探讨DOM...
DOM4J API使用示例** - **创建XML文档**: ```java DocumentFactory factory = DocumentFactory.getInstance(); Document document = factory.createDocument(); Element root = document.addElement("root"); ...
本文详细介绍了DOM4J的基本概念、主要接口以及如何使用DOM4J进行XML文档的读取、获取根节点、添加节点及其数据等操作。DOM4J凭借其简洁的API、丰富的接口和高性能,在Java平台上的XML解析应用中占据了一席之地。无论...
- 使用DOM4J创建新的XML文件或者更新现有文件是一个常见的任务。例如,`save.properties`可能是记录程序运行时配置的文件,DOM4J可以用来动态生成或修改这些配置。通过创建Element对象,设置属性和子元素,然后将...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活且高效的API,使得XML的解析、创建、修改和查询变得更为简单。在本文中,我们将深入探讨DOM4J的最新版本及其在XML文档中的增删改查操作。 DOM4J的核心...
博客链接()可能包含了DOM4J的使用示例、进阶技巧或是解决常见问题的方法,对于深入学习DOM4J会有很大的帮助。通过阅读这篇博客,你可以了解到更多DOM4J的实际应用和最佳实践。 在实际开发中,掌握DOM4J能极大地...
DOM4J库是Java中广泛使用的XML处理工具,它提供了SAX解析XML的功能。SAX(Simple API for XML)是一种事件驱动的解析器,适用于处理大型XML文档,因为它不需要将整个文档加载到内存中,因此在处理大文件时比DOM...
为了使用Dom4j,我们需要添加其依赖到项目中。根据题目提供的标签信息,可以知道需要以下两个JAR包: - `dom4j-1.6.1.jar`:这是Dom4j的核心库。 - `jaxen-1.1-beta-6.jar`:该库提供了XPath支持,用于执行复杂的XML...
在Web开发领域,DOM4J、JSTL、BeanUtils和Log4j是四个非常重要的工具库,它们各自为开发者提供了强大的功能支持。下面将详细解释这些库的主要用途和使用方法。 1. DOM4J: DOM4J是一个Java库,用于处理XML文档。它...
这些信息被发送到服务器,服务器使用DOM4J解析XML文件查找匹配的用户记录,验证密码和验证码,然后返回登录成功或失败的信息。 综上所述,DOM4J在基于XML的登录注册系统中起到了桥梁的作用,连接着数据库和XML数据...