public class Analisys {
public static void main(String[] args) throws Exception {
File file = new File(
"E:\\MyEclipse 6.5\\newworkspace\\test\\src\\test\\java\\com\\supporter\\xml\\data.xml");
System.out.println("begin analysis file:" + file.getName());
analisys(file);
}
private static void analisys(File file) throws Exception {
SAXReader saxReader = new SAXReader();
Document document = saxReader.read(file);
Element rootElm = document.getRootElement();
List<Person> list = new ArrayList<Person>();
recurveCall(rootElm, list);
for (Iterator<Person> it = list.iterator(); it.hasNext();) {
System.out.println(it.next() + "\n");
}
}
private static void recurveCall(Element root, List<Person> list) {
Iterator<Element> it = root.elementIterator();
Person p = null;
int i = 1;
for (; it.hasNext(); i++) {
Element e = it.next();
String eleName = e.getName();
String layer = eleName.substring(5, eleName.length());
int reallayer = Integer.valueOf(layer);
System.out.println("layer is :" + reallayer);
p = new Person(e.attributeValue("name"), e.attributeValue("age"),
(reallayer + 1) * 100 + i);
list.add(p);
recurveCall(e, list);
}
}
}
上例对应的xml:
<datas>
<level0 name="yang0" age="0">
<level1 name="yang1" age="1">
<level2 name="yang2" age="2"></level2>
</level1>
<level1 name="yang01" age="3">
<level2 name="yang11" age="4"></level2>
<level2 name="yang12" age="5"></level2>
</level1>
</level0>
<level0 name="ding" age="00">
<level1 name="ding1" age="01">
<level2 name="ding2" age="02"></level2>
</level1>
<level1 name="ding01" age="03">
<level2 name="ding11" age="04"></level2>
<level2 name="ding12" age="05"></level2>
</level1>
</level0>
</datas>
分享到:
相关推荐
在这个“dom4j解析案例”中,我们将深入探讨如何利用DOM4J来解析XML文件,提取特定节点信息,并将其存储在List和Map数据结构中。 首先,我们需要理解XML的基本概念。XML(eXtensible Markup Language)是一种标记...
在TestDom4j项目中,可能包含一个简单的Java程序,演示了如何使用Dom4j解析XML文件、查找特定元素、修改元素内容,并将结果写回XML。这个例子对于初学者来说非常有帮助,因为它展示了Dom4j在实际应用中的基本用法。...
dom4j解析xml字符串实例
使用Dom4j解析XML文档主要有两种方式:SAX和DOM。这里我们主要介绍DOM方式,因为它是最直观的。 - **创建Document对象** ```java import org.dom4j.Document; import org.dom4j.DocumentHelper; Document document...
标题中的“j2ee11:xml02:dom4j解析”指的是在J2EE 11(Java Enterprise Edition 11)环境下,对XML文档进行解析时使用了DOM4J库。DOM4J是一个Java库,它提供了丰富的API来处理XML、XPath和Java集合框架的集成。在...
标题中的“摇奖项目(dom4j解析xml随机抽取个人信息)”揭示了这是一个基于Java Web的摇奖系统,它利用DOM4J库来解析XML文件,从中随机选取用户信息进行抽奖。DOM4J是一个非常流行的Java XML API,它提供了丰富的...
本案例实现了一套完整树型菜单权限管理,包含增加、修改、删除、移动节点。 附有源代码+完整的JAR包+API学习文档 前台页面展示用zTree插件,...通过本资源,您可以:掌握强大的zTree控件,和强大的Dom4j解析XML技术
这些案例可能涵盖创建XML文档、解析XML、修改XML元素、使用XPath查询等常见场景,是学习DOM4J很好的实践材料。 8. **整合其他技术**: DOM4J可以很好地与Spring、Hibernate等Java框架集成,简化XML配置文件的处理...
在Java中,有多种库用于解析XML,包括DOM(Document Object Model)、JDOM和DOM4J。这些解析器各有特点,适用于不同的场景。 **DOM解析** DOM是一种基于树形结构的XML解析模型,它将整个XML文档加载到内存中,形成...
`SAXReader`是一个高效的XML解析器,它能够将XML文件解析为DOM4J的`Document`对象。`Document`对象是DOM4J中表示XML文档的核心对象,提供了多种方法来访问和修改XML数据。 #### DOM4J与XPath DOM4J的强大之处在于...
**标题解析:** "Dom4j学习笔记" 这个标题明确指出了我们要探讨的主题——Dom4j。Dom4j是一个流行的Java库,用于处理XML文档。它提供了丰富的API,使得XML的读取、写入、操作变得简单易行。在学习笔记中,通常会涵盖...
**DOM4J简介** DOM4J是一个非常优秀的Java XML API,它提供了丰富的XML处理功能...在"dom4j的简单案例"中,通过学习如何使用DOM4J解析XML并处理权限信息,你可以深入了解DOM4J的功能,并将其应用到实际的项目开发中。
在这个案例中,我们主要关注如何通过DOM4j解析XML文档中的特定信息。例如: 1. **获取名字为空的学生年龄**: - 如果找到了名字为空的学生,则获取其年龄属性;如果没有找到,则设置默认值为20。 2. **获取名字为...
在本案例中,"dom4j.jar"和"jdom.jar"就是包含了dom4j和jdom库的JAR文件,它们可以被添加到项目的类路径中,以便在代码中使用这些库的功能。 总结来说,XML解析在Java开发中扮演着重要角色,dom4j和jdom是两个常用...
这个“DOM4J的一点小案例”可能包含了多个示例,帮助初学者理解DOM4J的基本用法和功能。下面我们将深入探讨DOM4J的关键概念和常见操作。 1. **DOM4J简介**: DOM4J是一种基于Java的DOM模型,它比标准的Java DOM ...
DOM4J库提供了强大的XML解析和操作功能,如创建XML文档、查找XML元素、修改XML内容等。 5. **XPath和XSLT**: XPath是XML路径语言,用于在XML文档中查找信息。XSLT(XSL Transformations)则是一种转换XML文档的语言...
在实际项目中,DOM4J的应用场景广泛,无论是解析配置文件、处理XML数据流,还是进行大规模的数据迁移,DOM4J都能提供稳定且高效的解决方案。例如,在企业级应用中,DOM4J常被用于读取和解析大型XML配置文件,如...
四、DOM4J 2.0.0-ALPHA-2新特性 DOM4J 2.0.0-ALPHA-2作为开发版本,可能引入了一些新特性和改进,包括性能优化、API调整以及对最新Java版本的支持。具体的新特性需要查看官方文档或源代码来获取详细信息。 五、...
4. **优秀Java XML API接口**:这个描述表明,Dom4j被广泛认为是一个高质量的XML处理工具,具有良好的社区支持和广泛的应用案例。它提供了高效的性能、易于使用的API和丰富的功能,使得开发者可以快速实现XML相关的...