问题:
Java中用JDOM解析XML,具体包括读写。
* 参考http://www.jdom.org/,需要下载最新包jdom-2.0.4.jar
* 下载包中没有API文档,需要参考http://www.jdom.org/docs/apidocs/index.html
* 目标:我们希望提供一个解决方案,在Java中使用XML就像Java本身那么简单。
* 它形如Java,它使用Java集合,它提供完全自然的API接口给Java开发人员, 它降低了使用XML的门槛。
* 相对DOM与SAX,它不是一个抽象层或增强这些API。相反,它提供了一个强大的,轻量的阅读和写作的复杂性和内存消耗的方案。
解决:
package com.clzhang.sample.xml;
import java.io.*;
import java.util.*;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.input.SAXBuilder;
import org.jdom2.output.Format;
import org.jdom2.output.XMLOutputter;
/**
* 参考 http://www.jdom.org/,需要下载最新包jdom-2.0.4.jar
* 下载包中没有API文档,需要参考http://www.jdom.org/docs/apidocs/index.html
* 目标:我们希望提供一个解决方案,在Java中使用XML就像Java本身那么简单。
* 它形如Java,它使用Java集合,它提供完全自然的API接口给Java开发人员, 它降低了使用XML的门槛。
* 相对DOM与SAX,它不是一个抽象层或增强这些API。相反,它提供了一个强大的,轻量的阅读和写作的复杂性和内存消耗的方案。
*/
public class JDOMTest {
// 读取文件测试(其输入是writeXMLFile的输出)
public void parseByJDOM(String file) throws Exception {
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(new File(file));
Element root = doc.getRootElement();
List<Element> elements = root.getChildren();
for (Element element : elements) {
String id = element.getAttribute("id").getValue();
System.out.println(element.getName() + "\tid=" + id);
List<Element> children = element.getChildren();
for (Element child : children) {
String name = child.getAttribute("name").getValue();
String value = child.getText();
System.out.println("\t" + child.getName() + "\t" + name + "=" + value);
}
}
}
// 写入文件测试
public void writeXMLFile(String filename) throws Exception {
// 文档
Document doc = new Document();
// 根节点
Element root = new Element("add");
doc.setRootElement(root);
// 子节点一
Element element = new Element("doc");
element.setAttribute("id", "1");
Element name = new Element("field");
name.setAttribute("name", "title");
name.setText("北京欢迎您");
Element content = new Element("field");
content.setAttribute("name", "content");
content.setText("北京真的欢迎您");
element.addContent(name);
element.addContent(content);
root.addContent(element);
// 子节点二
element = new Element("doc").setAttribute("id", "2");
name = new Element("field").setAttribute("name", "title");
name.setText("上海也欢迎您");
content = new Element("field").setAttribute("name", "content");
content.setText("上海真的也欢迎您");
element.addContent(name);
element.addContent(content);
root.addContent(element);
// 输出到文件,输出流及格式都设置为UTF-8
FileOutputStream fos = new FileOutputStream(filename);
OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");
Format format = Format.getPrettyFormat();
format.setEncoding("UTF-8");
XMLOutputter output = new XMLOutputter();
output.setFormat(format);
output.output(doc, osw);
osw.close();
fos.close();
}
public static void main(String[] args) throws Exception {
JDOMTest ins = new JDOMTest();
ins.writeXMLFile("bbs.xml");
ins.parseByJDOM("bbs.xml");
}
}
分享到:
相关推荐
本篇文章将深入探讨如何使用JDOM解析XML文件。 首先,我们需要理解JDOM的基本结构。JDOM通过Document对象表示整个XML文档,Element代表XML元素,Attribute表示元素属性,Text表示元素内的文本内容。这些类构成了...
Java JDOM解析XML是Java开发中处理XML文档的一种方法,JDOM全称为Java Document Object Model,它是一个基于Java语言的API,用于创建、修改和读取XML文档。JDOM为XML处理提供了一种高效且方便的解决方案,尤其适用于...
JAVA 解析XML和生成XML文档源码。比较全 1.DOM生成和解析XML文档 2.SAX生成和解析XML文档 3.DOM4J生成和解析XML文档 4.JDOM生成和解析XML
在这个资源中,我们将探讨如何利用JDom来解析XML文件,并从MySQL数据库获取数据生成XML。 首先,我们需要了解XML的基本结构和语法规则。XML(Extensible Markup Language)是一种用于存储和传输结构化数据的标准,...
同时,我们还会讨论如何使用jQuery在前端解析XML并展示数据。 首先,让我们了解XML的基本结构。XML文档由元素(Element)、属性(Attribute)、文本内容(Text Content)等组成。元素是XML的核心,它们通过层级关系...
Java解析XML的四种经典方法是XML处理中常用的技术,它们分别是DOM、SAX、StAX和JDOM。每种方法都有其独特的特性和适用场景,下面将详细介绍这四种方法。 1. DOM(Document Object Model)解析: DOM是W3C制定的一种...
Java中的JDOM库是用于解析XML文档的一种强大的工具。它提供了简单、高效的API来读取、修改和创建XML文件。本篇文章将深入探讨如何利用JDOM解析XML文件,以及在这个过程中涉及的关键知识点。 首先,我们需要了解XML...
### Java解析XML的四种方式详解 #### 一、DOM(Document Object Model) DOM是一种平台和语言中立的接口,它将XML文档表示为一个树结构,使得程序可以创建、读取、更新或删除树中的元素。DOM实现了W3C的标准,能够...
### Java解析XML字符串 在给定的代码示例中,我们看到了如何使用JDOM库来解析一个XML字符串,并对其进行操作。下面我们将详细解析这个过程: 1. **初始化XML源**:首先,将XML字符串转化为`StringReader`对象,这...
用于xml解析,很好用的一个java类库
Java读取XML文件是开发过程中常见的任务,JDOM是一个...通过这些步骤,我们可以方便地读取和解析XML数据,将其转化为Java对象,进行进一步的业务处理。对于开发者来说,掌握JDOM库的使用对提升XML处理能力大有裨益。
Java 使用 JDOM 解析 XML 文件 Java 是一种广泛使用的程序设计语言,而 XML 是一种广泛使用的标记语言,用于存储和传输数据。在 Java 中,解析 XML 文件是一件常见的任务,而 JDOM 是一个流行的开源库,用于解析和...
java解析xml的四种方法的比较,还有四种方法所用到的jar包 附带程序例子 1.DOM生成和解析XML文档 2.SAX生成和解析XML文档 3.DOM4J生成和解析XML文档 4.JDOM生成和解析XML
下面将详细介绍这四种解析XML的方法。 1. SAX(Simple API for XML) SAX是一种事件驱动的解析器,它不会一次性加载整个XML文档到内存中,而是逐行读取,当遇到文档中的元素、属性等时,会触发相应的事件处理器方法...
本篇文章将深入探讨如何使用JDOM来读取XML文件。 首先,我们需要了解JDOM的基本概念。JDOM通过构建一棵DOM(Document Object Model)树来表示XML文档,这棵树是由节点构成的,包括元素(Element)、属性(Attribute...
基于java的开发源码-用jdom解析xml.zip 基于java的开发源码-用jdom解析xml.zip 基于java的开发源码-用jdom解析xml.zip 基于java的开发源码-用jdom解析xml.zip 基于java的开发源码-用jdom解析xml.zip 基于java的开发...
本文将深入探讨Java解析XML的四种主要方法。 1. DOM(Document Object Model)解析: DOM解析器将整个XML文档加载到内存中,创建一个树形结构,允许开发者通过节点遍历和操作XML。例如,Java的`javax.xml.parsers....
Java语言在处理XML数据时,常常会用到各种解析库,其中之一便是JDOM。JDOM,全称为Java Document Object Model,是一种专为Java设计的XML处理API,它提供了对XML文档结构的完整映射,使得我们可以方便地创建、读取和...
**Java与XML:JDOM解析XML的详细指南** 在Java编程中,XML(eXtensible Markup Language)是一种被广泛使用的数据交换格式,用于存储结构化数据。为了处理XML文档,开发者可以使用多种库,其中之一就是JDOM。JDOM是...
本篇主要介绍XML解析的基础知识,特别是针对JDOM库的使用,一个Java平台上的XML处理库。 JDOM是Java Document Object Model的缩写,它是为了解决DOM(Document Object Model)在Java中的性能问题而设计的。JDOM提供...