//生成xml文件
package lc.abin.lee.xml.dom4j;
import java.io.FileWriter;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
public class CreateDom4j {
public static String createXml() throws Exception{
Document document=DocumentHelper.createDocument();
Element root=document.addElement("lee");
Element country=root.addElement("abin");
Element area=country.addElement("name");
Element first=area.addElement("lc1");
first.addText("lc1name");
Element middle=area.addElement("lc2");
middle.addText("lc2name");
Element last=area.addElement("lc3");
last.addText("lc3name");
FileWriter fileWriter=new FileWriter("lbin.xml");
OutputFormat format=new OutputFormat();
format.setEncoding("UTF-8");
XMLWriter writer=new XMLWriter(fileWriter, format);
writer.write(document);
writer.flush();
writer.close();
return document.asXML();
}
public static void main(String[] args)throws Exception {
String result=createXml();
System.out.println("result="+result);
}
}
生成的XML文件内容
<?xml version="1.0" encoding="UTF-8"?>
<lee><abin><name><lc1>lc1name</lc1><lc2>lc2name</lc2><lc3>lc3name</lc3></name></abin></lee>
//DOM4J解析XML文件
package lc.abin.lee.xml.dom4j;
import java.io.File;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class ParseJdom {
public static Map<String,String> parse(File file) throws DocumentException{
Map<String,String> map=Collections.synchronizedMap(new HashMap<String,String>());
SAXReader sax=new SAXReader();
Document doc=sax.read(file);
List list=doc.selectNodes("/lee/abin/name");
for(Iterator it=list.iterator();it.hasNext();){
Element ele=(Element)it.next();
for(Iterator its=ele.elementIterator();its.hasNext();){
Element le=(Element)its.next();
map.put(le.getName(), le.getText());
System.out.println("le.getName()="+le.getName());
System.out.println("le.getText()="+le.getText());
}
}
return map;
}
public static void main(String[] args) throws Exception {
File file=new File("lbin.xml");
Map<String,String> map=parse(file);
for(Iterator it=map.entrySet().iterator();it.hasNext();){
Map.Entry entry=(Map.Entry)it.next();
System.out.println("name="+entry.getKey());
System.out.println("value="+entry.getValue());
}
}
}
分享到:
相关推荐
在本文中,我们将学习如何使用 Dom4j 生成 XML 文档和解析 XML 文档。 生成 XML 文档 使用 Dom4j 生成 XML 文档非常简单。首先,我们需要创建一个 Document 对象,然后添加元素和属性。下面是一个生成 XML 文档的...
DOM4J解析XML文档: DOM4J通过构建DOM树(Document Object Model)来解析XML。DOM模型是一种将XML文档转换为内存中对象树的表示方式。在DOM4J中,我们可以使用`DocumentBuilderFactory`和`DocumentBuilder`来创建`...
这篇博客()可能详细介绍了如何使用DOM4J来生成和解析XML文件,这对于处理XML文档的开发人员来说是非常有用的工具。 **1. 生成XML文件** 生成XML文件主要涉及以下步骤: - **创建Document对象**:DOM4J通过`...
Dom4J作为一款优秀的Java XML API,以其简洁、高效的特点,在生成、解析和操作XML文档方面表现突出。本文将深入探讨如何使用Dom4J库来创建XML文档,包括初始化文档、添加元素、设置属性、插入文本以及最终保存文档至...
### DOM4J解析XML详解 #### 一、DOM4J简介与特性 DOM4J是一个由dom4j.org开发的开源XML解析包,专为Java平台设计,它不仅支持DOM、SAX和JAXP标准,还巧妙地融入了Java集合框架,使其成为Java开发者在处理XML数据时...
5. **事件驱动解析(SAX)**:除了传统的DOM解析外,DOM4J还支持SAX解析器,这种解析方式适用于处理大型XML文件,因为它不需要一次性加载整个文档到内存。 6. **Namespace支持**:DOM4J提供了对XML命名空间的全面...
解析XML文件后,DOM4J会构建一个`Document`对象树,你可以通过这个树来访问和操作XML的所有元素。 - **Element对象**:`Element`是XML文档中的节点,相当于HTML的`<tag>`。DOM4J提供了丰富的API来操作元素,如获取...
JAVA 解析XML和生成XML文档源码。比较全 1.DOM生成和解析XML文档 2.SAX生成和解析XML文档 3.DOM4J生成和解析XML文档 4.JDOM生成和解析XML
本文将详细介绍生成和解析XML的四种主要方法:DOM、DOM4J、SAX和JDOM。 1. DOM(Document Object Model) DOM是W3C组织推荐的一种解析XML的标准方式。它将XML文档视为一个树形结构,每个节点代表XML文档的一部分。...
在这个主题中,我们将深入探讨DOM4j如何帮助我们创建和解析XML文档,以及其背后的原理和用法。 首先,DOM4j采用了Document Object Model(DOM)的概念,但它比标准的Java DOM实现更加轻量级,性能更优。DOM4j的核心...
1、xml文档解析 2、 dom4j解析xml 3、实现xml文件解析 xml字符串解析 xml MAP键值对解析 4、实现xml写入与生成文件
- **Dom4jUtil.java**: 包含DOM4J相关的实用工具函数,如创建和解析XML的辅助方法。 - **Dom4jTest.java**: 测试类,使用JUnit编写,用于验证DOM4JUtil的功能是否正常工作。 - **说明.txt**: 提供了关于如何使用这些...
DOM4J作为解析XML的工具,其主要功能和特性包括: 1. **DOM模型**:DOM4J提供了基于DOM(Document Object Model)的接口,允许开发者以树形结构操作XML文档。通过`Document`对象,可以访问XML文档的根元素,并通过`...
在这个场景中,我们将深入理解如何使用DOM4J来生成XML文档以及如何解析XML内容。 首先,生成XML文档涉及以下几个主要步骤: 1. **创建Document对象**:`DocumentHelper.createDocument()`方法用于创建一个新的XML...
Java DOM4J解析XML是一种常见的处理XML文档的技术,它提供了灵活且高效的API,使得开发者能够方便地读取、写入、修改以及操作XML文件。DOM4J是Java中一个非常强大的XML处理库,它结合了DOM、SAX和JDOM的优点,同时也...
在提供的文件列表中,`Test.java`可能包含使用DOM4J解析XML的示例代码。通常,这样的代码会包含以下部分: ```java import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; // ...
Java DOM4J库是用于处理XML文档的一个强大的开源框架,它提供了一种简单而灵活的方式来创建、解析和操作XML文件。DOM4J这个名字中的“DOM”代表文档对象模型(Document Object Model),这是一种标准的API,用于在...
在这个项目中,我们利用DOM4J来解析XML文件,并通过Java的反射机制将解析出的信息存储到特定的类中。 首先,我们需要了解XML的基本概念。XML(Extensible Markup Language)是一种标记语言,常用于数据交换和结构化...