import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.JDOMException;
import org.jdom2.input.SAXBuilder;
import org.jdom2.output.XMLOutputter;
import com.ailk.xmlparserdemon.intf.XmlDocument;
public class JdomXmlDemon implements XmlDocument {
static String filename;
public void createDocument(String fileName) {
System.out.println("jdom create begin...");
Document dc;
Element root;
root=new Element("employees");
dc=new Document(root);
Element employee=new Element("employee");
root.addContent(employee);
Element name=new Element("name");
name.setText("小明");
employee.addContent(name);
Element sex=new Element("sex");
sex.setText("m");
employee.addContent(sex);
Element parents=new Element("parents");
employee.addContent(parents);
Element father=new Element("father");
father.setText("小张");
parents.addContent(father);
Element mother=new Element("mother");
mother.setText("小慧");
parents.addContent(mother);
try {
XMLOutputter out=new XMLOutputter();
out.output(dc, new FileOutputStream(fileName));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("jdom create end...");
}
public void parserDocument(String fileName) {
System.out.println("jdom parser begin...");
try {
SAXBuilder build=new SAXBuilder(false);
Document dt= build.build(fileName);
Element employees=dt.getRootElement();
List employee=employees.getChildren("employee");
for(int i=0;i<employee.size();i++){
Element elements=(Element)employee.get(i);
List employinfo=elements.getChildren();
for(int j=0;j<employinfo.size();j++){
Element employinfonode=(Element)employinfo.get(j);
for(Iterator info=employinfonode.getChildren().iterator();info.hasNext();){
Element node=(Element) info.next();
System.out.println(node.getName()+":"+node.getValue());
}
if(!employinfonode.getChildren().iterator().hasNext()){
System.out.println(((Element)employinfo.get(j)).getName()+":"+((Element)employinfo.get(j)).getValue());
}
}
}
} catch (JDOMException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("jdom parser end...");
}
public static void main(String[] args){
JdomXmlDemon jdom=new JdomXmlDemon();
JdomXmlDemon.filename="E:\\OneNote\\jdom.xml";
jdom.createDocument(filename);
jdom.parserDocument(filename);
}
}
分享到:
相关推荐
在解析XML文件时,JDOM提供了SAXBuilder和DOMBuilder两种方式。SAXBuilder基于事件驱动,适用于处理大型XML文件,因为它占用较少的内存。DOMBuilder则一次性加载整个XML到内存,适合小型文件,便于进行快速访问。 ...
为了能够有效地解析和操作这些XML文件,Java提供了多种不同的方法和技术,其中最常用的就是DOM、SAX、JDOM、DOM4j以及XPath。下面将详细介绍这些技术。 ##### DOM (Document Object Model) DOM是一种标准的API,它...
1. **XML解析**:JDOM通过`SAXBuilder`或`DOMBuilder`类来解析XML文件。`SAXBuilder`基于事件驱动,适用于大型XML文件,而`DOMBuilder`则构建整个文档对象模型,适合小型文件。解析后,我们可以得到`Document`对象,...
JDOM提供了一种高效且方便的方式来创建、修改和操作XML数据,使得Java开发者无需依赖于DOM(Document Object Model)或SAX(Simple API for XML)等其他解析器,可以直接在内存中构建和操作XML文档。 JDOM 1.0版本...
为了方便地解析和操作XML文档,Java社区开发了多种库,其中JDOM和DOM4J是两个常用的选择。本文将对JDOM和XML的解析进行详细介绍,并进行两者之间的比较。 **JDOM** JDOM(Java Document Object Model)是Java平台...
尽管随着时间的推移,新的XML解析库如DOM4J、Woodstox和StAX等涌现出来,提供了更高级的功能和更高的性能,但JDOM依然是一个可靠的选择,特别是对于那些需要处理简单XML结构或对性能要求不那么苛刻的项目。...
通过上述步骤,你就能使用JDOM有效地读取、解析和修改XML文件了。这个库提供了丰富的功能,能够满足大部分XML处理需求,同时它的API简洁直观,使得开发人员能快速上手。在实际应用中,结合JDOM与其他工具,如XPath...
标题中的"jdom-1.1.zip_jdom-1.0.jar包_jdom.z_jdom.zip_zip"提及了几个关键的文件和版本,这主要涉及Java的XML处理库——JDOM。JDOM是一个用于处理XML文档的纯Java库,它提供了方便的API来创建、修改和读取XML数据...
4. **输出XML文档**:将构建或解析后的XML文档写入文件,可使用XMLOutputter类。通过其format和output方法,可以控制XML的格式化输出,如缩进、换行等。 JDOM库的灵活性还体现在它可以与其他Java XML库,如Xalan、...
本篇文章将深入探讨如何利用JDOM解析XML文件,并基于XML中的类名生成相应的对象。 首先,我们需要理解JDOM的基本概念。JDOM提供了一组Java对象来表示XML文档,包括Element(元素)、Attribute(属性)、Text(文本...
标题中的“jdom.zip_jdom-1.0.jar包_xml java JDOM”指的是一个包含JDOM库的压缩文件,版本为1.0。这个jar包是用于XML开发的,特别适合那些使用Java语言进行XML处理的项目。开发者可以将这个jar包下载并导入到他们的...
本文将深入探讨XML数据在前后台解析的过程中,重点介绍两种主流的Java XML解析库——JDOM和DOM4J,并提供实际运行的程序示例。同时,我们还会讨论如何使用jQuery在前端解析XML并展示数据。 首先,让我们了解XML的...
3. 读取XML文件并构建DOM树:`File xmlFile = new File("path_to_xml_file"); Document document = saxBuilder.build(xmlFile);` 4. 获取根元素:`Element rootElement = document.getRootElement();` 5. 遍历元素...
本压缩包文件“XML-java.rar”包含了关于使用Java解析XML的实例,特别强调了SAX解析器的使用,并且提到了使用JDOM和JOM4J这两个Java库来处理XML。 1. **DOM解析**:DOM是一种树型结构,它将整个XML文档加载到内存中...
在 Java 中,解析 XML 文件是一件常见的任务,而 JDOM 是一个流行的开源库,用于解析和处理 XML 文件。本文将详细介绍如何使用 JDOM 解析 XML 文件。 JDOM 介绍 JDOM 是一个开源项目,基于树型结构,利用纯 Java ...
本主题聚焦于四种不同的Java库——XStream、Dom4j、Groovy以及JDOM,它们都是用来解析和操作XML文档的工具。 1. **XStream**: XStream是一个Java库,它提供了将Java对象序列化为XML,以及从XML反序列化回Java对象...
**JDOM解析XML文件** XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于数据交换、配置文件和文档存储等领域。在Java中,JDOM(Java Document Object Model)是一个流行的选择来解析和操作...
在XML文件生成过程中,JDOM提供了创建、修改和读取XML文档的强大功能。首先,我们需要导入`jdom.jar`库到我们的项目中,这个库包含了所有与JDOM相关的类和方法。 以下是一个简单的示例,展示如何使用JDOM创建一个...
总结,JDOM作为Java处理XML的一种工具,提供了简洁的API来生成和解析XML文档。无论是创建新的XML文件还是从现有文件中提取数据,JDOM都能以直观的方式实现。通过以上示例,我们可以看出JDOM的强大之处在于其灵活性和...