目前,比较流行的解析XML的技术有,JDOM、DOM4J、XQUERY等。本篇文档,主要是使用JDOM来实现对XML文档的解析。
首先,要进行JDOM解析,必须先在项目中导入相关的jar包:
1、导入jar包
2、创建XML文件
3、对xml文件进行解析和更新
贴出代码为:
package com.jjyy.jdom.parse;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import org.jdom.Attribute;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;
import org.junit.Before;
import org.junit.Test;
/**
* Jdom解析xml
*
* @author JiangYu
*
*/
public class JDomParseDemo {
private String name;
@Before
public void getLocation() {
name = System.getProperty("user.dir") + "\\src\\computer.xml";
}
@Test
public void testCreate() {
createXML(name);
}
@Test
public void testParserAndUpdate() {
parserAndUpdate(name);
}
/**
* 创建xml文件
*/
public static void createXML(String name) {
try {
// 创建节点
Element rootElement = new Element("computer");
Element priceElement = new Element("price");
priceElement.setText("5000");
// 设置属性
priceElement.setAttribute("way", "$");
Element hardwareEle = new Element("hardware");
Element screenElem = new Element("screen");
screenElem.setText("samsung");
hardwareEle.addContent(screenElem);
// 为父节点添加子元素
rootElement.addContent(priceElement);
rootElement.addContent(hardwareEle);
// 根据节点创建Document
Document document = new Document(rootElement);
// 将文档写出到硬盘
// 创建输出格式 pretty适合阅读 compact适合传输
Format format = Format.getPrettyFormat();
format.setEncoding("utf-8");
// 创建输出对象
// 创建输出对象
XMLOutputter xmlOutputter = new XMLOutputter(format);
// 写出
xmlOutputter.output(document, new FileOutputStream(name));
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 解析并修改文档
*
* @param name
* @throws JDOMException
* @throws IOException
*/
public static void parserAndUpdate(String name) {
try {
// 创建JDOm的解析器
SAXBuilder saxBuilder = new SAXBuilder();
// 创建文档对象模型
InputStream is = new FileInputStream(name);
Document document = saxBuilder.build(is);
// 获取根节点
Element rootElement = document.getRootElement();
// 获取指定的子节点
Element priceElement = rootElement.getChild("price");
// 获取节点的文本内容
System.out.println(priceElement.getText());
System.out.println(priceElement.getAttributeValue("way"));
// 获取screen
Element screenEle = rootElement.getChild("hardware").getChild("screen");
System.out.println(screenEle.getText());
// 不常用
List<Element> list = rootElement.getChildren();
System.out.println(list.size());
rootElement.getContent();// 不需要去看 了解下就型了
/** ************修改获取到的节点的信息*******都是在内存中修改的********* */
// 修改属性信息
priceElement.setAttribute("way", "RMB");
// 新增一个属性
Attribute abcdAttr = new Attribute("real", "yes");
priceElement.setAttribute(abcdAttr);
// 添加一个节点
Element softwareElement = new Element("software");
softwareElement.setText("softWare");
rootElement.addContent(softwareElement);
// 添加文本节点(当本节点已经存在别的节点,如果在使用setText会将以前的覆盖掉)
// rootElement.addContent("你是一个坏人");
/** ******************将内存中的信息写会硬盘********************** */
// 创建输出的格式 pretty适合阅读 compact适合传输
Format format = Format.getPrettyFormat();
format.setEncoding("utf-8");
// 创建输出对象
XMLOutputter xmlOutputter = new XMLOutputter(format);
// 写出
xmlOutputter.output(document, new FileOutputStream(name));
} catch (Exception e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
对于XML解析,JDOM提供了两种方式:SAX(Simple API for XML)和DOM(Document Object Model)。SAX是一种事件驱动的解析器,适用于处理大型XML文件,因为它不会一次性加载整个文档到内存。DOM则是基于树的模型,会...
在Java编程中,解析XML文档通常需要借助于特定的库,如dom4j和jdom。这两个库都是Java平台上处理XML的优秀选择。 dom4j是一个功能强大的开源XML处理库,提供了灵活且高效的API。它不仅支持DOM模型,还支持SAX...
基于java的开发源码-用jdom解析xml.zip 基于java的开发源码-用jdom解析xml.zip 基于java的开发源码-用jdom解析xml.zip 基于java的开发源码-用jdom解析xml.zip 基于java的开发源码-用jdom解析xml.zip 基于java的开发...
**JDOM解析XML详解** XML(Extensible Markup Language)是一种用于标记数据的标准化语言,广泛应用于数据交换、配置文件和Web服务等领域。JDOM是Java领域中专门处理XML的一个库,它提供了一种高效且方便的方式来...
在实际开发中,使用JDOM可以方便地解析XML文档,例如: 1. **读取XML**:使用`SAXBuilder`或`DOMBuilder`类来读取XML文件,并将其转换为JDOM的`Element`对象。 2. **创建XML**:通过`Element`、`Attribute`等类可以...
标题中提到的"XML解析工具--jdom相关资料",主要涵盖了JDOM库的使用和相关实例。JDOM的核心思想是将XML文档转换为一个内存中的树形结构,允许开发者通过Java对象模型来操作XML数据。以下是JDOM的一些关键知识点: 1...
本篇文章将深入探讨如何使用JDOM解析XML文件。 首先,我们需要理解JDOM的基本结构。JDOM通过Document对象表示整个XML文档,Element代表XML元素,Attribute表示元素属性,Text表示元素内的文本内容。这些类构成了...
本文将深入探讨JDOM解析XML的基本原理、步骤以及实际应用。 JDOM的主要优点在于它完全基于Java,因此它能够充分利用Java的面向对象特性,使得XML处理更加直观和方便。与DOM(Document Object Model)标准库相比,...
JDOM是Java特有的XML解析库,它提供了更符合Java习惯的API来操作XML。与DOM类似,JDOM也创建一个文档对象模型,但它的设计更简洁,易于使用。相比DOM,JDOM的性能稍好,因为它减少了对象创建和内存使用,但对大型XML...
**二、JDOM解析XML** 1. **SAXBuilder**:使用SAXBuilder可以快速地从XML文件构建一个Document对象。SAXBuilder是基于事件驱动的SAX解析器,它不加载整个文档到内存,适合处理大型XML文件。 ```java import org....
Java JDOM解析XML是Java开发中处理XML文档的一种方法,JDOM全称为Java Document Object Model,它是一个基于Java语言的API,用于创建、修改和读取XML文档。JDOM为XML处理提供了一种高效且方便的解决方案,尤其适用于...
《JDOM 2.0.6:解析与构建XML文档的利器》 JDOM,全称为Java Document Object Model,是一个专为Java设计的XML处理库。JDOM 2.0.6是该库的一个版本,提供了高效且方便的方式来创建、访问和修改XML文档。这个压缩包...
使用Jdom.jar包解析XML文件,JDOM是一个开源项目,它基于树型结构,利用纯JAVA的技术对XML文档实现解析、生成、序列化以及多种操作。JDOM直接为JAVA编程服务。它利用更为强有力的JAVA语言的诸多特性(方法重载、集合...
在处理XML数据时,有多种解析方法,其中JDOM是Java平台上的一个流行的XML解析库,它提供了一种相对简单且性能良好的方式来处理XML文档。本文将深入探讨JDOM技术及其在XML解析中的应用。 ### 1. JDOM简介 JDOM是...
使用JDOM,我们可以通过API操作这些节点来实现对XML的解析和操作。 要读取XML文件,首先需要在项目中引入JDOM库。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.jdom ...
1. **XML解析**:JDOM通过`SAXBuilder`或`DOMBuilder`类来解析XML文件。`SAXBuilder`基于事件驱动,适用于大型XML文件,而`DOMBuilder`则构建整个文档对象模型,适合小型文件。解析后,我们可以得到`Document`对象,...
JDOM是Java中处理XML文档的一个流行库,它提供了一种方便的方式来创建、修改和解析XML文档。然而,JDOM的标准库并不直接支持XPath,XPath是一种强大的语言,用于在XML文档中定位节点。为了在JDOM中利用XPath的功能,...
**Java与XML:JDOM解析XML的详细指南** 在Java编程中,XML(eXtensible Markup Language)是一种被广泛使用的数据交换格式,用于存储结构化数据。为了处理XML文档,开发者可以使用多种库,其中之一就是JDOM。JDOM是...
### XML解析 1. **基础概念**:XML文件由一系列元素组成,每个元素都有开始标签和结束标签,如`内容</element>`。元素可以嵌套,属性可以附加在开始标签内提供额外信息。 2. **解析方式**: - **DOM解析**:将整个...
《JDOM:高效解析XML的Java库》 在IT领域,XML(eXtensible Markup Language)作为一种数据交换和存储的通用格式,被广泛应用在各种系统间的数据传输中。XML的灵活性和结构化特性使得它成为了网络数据传输的标准...