package com.liuc.test;
import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import org.jdom2.Attribute;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.JDOMException;
import org.jdom2.input.SAXBuilder;
public class JdomTest {
/**
* @param args
*/
public static void main(String[] args) {
praseXML(new File("person.xml"));
}
/**
* 解析XML方法
*/
public static void praseXML(File xmlFile){
SAXBuilder sax=new SAXBuilder(); //在内存中建立一个SAX文档模型
try {
//创建文档
Document xmlDom=sax.build(xmlFile);
//获得文档的根元素
Element root=xmlDom.getRootElement();
System.out.println("根元素是"+root);
//获得根元素的子节点
List childList=root.getChildren();
Iterator it=childList.iterator();
while(it.hasNext()){
Element element=(Element) it.next();
System.out.println("孩子节点是"+element.getName());
}
//获得第一个孩子节点
Element firstChild=(Element) childList.get(0);
//获取孩子节点的属性
List attriList=firstChild.getAttributes();
Iterator attrIt=attriList.iterator();
while(attrIt.hasNext()){
Attribute attr = (Attribute )attrIt.next();
System.out.println("第一个元素属性是"+attr.getName());
System.out.println("属性的值是"+attr.getValue());
System.out.println("属性的类型是"+attr.getAttributeType());
}
} catch (JDOMException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}//创建文档
}
}
XML文件
<?xml version="1.0" encoding="UTF-8"?>
<persons>
<person perid="1001">
<name>zhangsan</name>
<age>89</age>
<address>安徽淮北</address>
<sex>男</sex>
</person>
<person perid="1002">
<name>lisi</name>
<age>56</age>
<address>北京海淀</address>
<sex>女</sex>
</person>
</persons>
分享到:
相关推荐
本文将深入探讨XML的入门知识,包括XML的解析与创建,以及通过不同方式操作XML文件的方法。 首先,让我们理解XML的基本结构。XML文档由元素构成,每个元素都有开始标签和结束标签,例如`内容</element>`。元素可以...
JDOM是专门为Java设计的XML解析库,它提供了一种与DOM类似的API,但性能更好,因为它是完全用Java实现的,没有依赖底层的平台实现。JDOM支持两种解析模式:SAXBuilder(类似SAX)和Builder(类似DOM)。JDOM简化了...
XML解析 - **SAX**:基于事件驱动的解析方式,适用于大型文档。 - **DOM**:将整个文档加载到内存中的树结构,适用于频繁访问和修改文档的情况。 - **DOM4j/JDOM**:开源库,提供了更简便的API来操作XML文档,支持...
本文将详细介绍四种主流的Java XML处理库:DOM4J、DOM、JDOM和SAX,并通过简单的代码示例帮助初学者入门。 1. DOM (Document Object Model) DOM是W3C制定的一种标准,它将XML文档视为一个树形结构,允许开发者通过...
SAX(Simple API for XML)是XML解析的一种方法,主要适用于处理大型XML文档,因为它采用事件驱动模型,以流式读取XML数据,不会一次性加载整个文档到内存,从而节省资源。 SAX解析的基本工作原理是:当解析器读取...
### 无废话XML:XML入门知识点详解 #### 一、XML简介 XML(Extensible Markup Language,可扩展标记语言)是一种用于标记数据的语言,它的设计目的是传输和存储数据。与HTML相似,XML同样使用标签来定义文档结构,...
而 JDOM(Java Document Object Model)是一个专门为 Java 设计的 XML 处理库,它提供了一种简单易用的方式来创建、修改和操作 XML 文档。JDOM 将 XML 文档模型映射为一系列的 Java 对象,使得开发者可以方便地通过 ...
2. **XML解析**:通过DOM解析器,你可以加载整个XML文档到内存并进行遍历和修改;SAX解析器则采用事件驱动的方式,逐行读取,适合处理大型XML文件;StAX允许程序按需读取或写入XML事件,提供了更高效的处理方式。 3...
在“Java_XML入门手册”中,你将找到关于这些方法的详细介绍,包括如何创建解析器、如何读写XML文件、如何处理XML节点以及如何比较不同方法的优缺点。通过学习这个手册,你可以快速掌握Java操作XML的基础,为后续的...
XML解析器读取XML文档并转换为数据结构,供应用程序使用。有两种类型的解析器:DOM(Document Object Model)和SAX(Simple API for XML)。DOM一次性加载整个文档到内存,适合小规模文档;SAX是事件驱动,逐行读取...
8. **DOM4J和JDOM**:在Java开发中,DOM4J和JDOM是常用的XML处理库,提供了方便的API进行XML解析、操作和生成。 9. **XML与JSON**:虽然XML功能强大,但JSON因其简洁性和易用性在现代Web应用中更为流行。两者各有...
2. **XML解析方式**:dom4j提供了两种主要的XML解析方式:SAX(Simple API for XML)和DOM(Document Object Model)。SAX是流式解析,适用于处理大型XML文件;DOM则是将整个XML文档加载到内存,适合小型或中型文档...
5. **解析器**:XML解析器是读取和处理XML文档的软件,分为DOM(Document Object Model)解析器和SAX(Simple API for XML)解析器。DOM将整个XML文档加载到内存中形成一棵树形结构,方便访问;SAX则是事件驱动的,...
它是一行一行的读取 xml 文件进行解析的。不会创建大量的 dom 对象。 所以它在解析 xml 的时候,在内存的使用上。和性能上。都优于 Dom 解析。 第三方的解析: jdom 在 dom 基础上进行了封装、 dom4j 又对 jdom 进行...
它不仅支持JDOM API,还提供了一种更高级的树形模型,使得XML操作更为简单。 **2. 基本概念** - **Element**: 表示XML元素,是XML文档的核心部分。 - **Attribute**: 表示XML属性,附加在元素上提供额外信息。 - **...
DOM4J是一款强大的Java XML API,它提供了丰富的DOM、SAX、JDOM等接口,使得处理XML文档变得更为便捷。在本文中,我们将深入探讨DOM4J的基础用法,帮助初学者快速入门。 **1. 安装与引入** 在开始使用DOM4J之前,...
**标题解析:** "一个简单的Dom4j学习的例子" 暗示了我们将探讨的是如何使用Dom4j这个Java库来处理XML文档的基础知识。Dom4j是一个灵活且高效的XML处理库,它提供了丰富的API来读取、写入、修改XML文档。 **描述...
- Apache Xerces:强大的XML解析库,支持DOM、SAX和XML Schema解析。 - Transformer:Java标准库中的类,用于将DOM树转换成其他格式,如HTML或文本。 5. XPath和XSLT - XPath:用于在XML文档中查找信息的语言,...
本教程将深入讲解XML的增删查改操作,非常适合初学者入门学习。 ### XML基本结构 1. **元素(Element)**:XML文档的核心组成部分,用尖括号包围,如 `<element>` 和 `</element>`,表示一个开始和结束的元素。...