`

(备忘录)xml文件的生成和解析_DOM4J_3

阅读更多


import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Iterator;

import javax.management.modelmbean.XMLParseException;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;

import com.ailk.xmlparserdemon.intf.XmlDocument;

public class Dom4jXmlDemon implements XmlDocument {
	static String fileName;

	public void createDocument(String fileName) {
		System.out.println("DOM4j create begin...");
		try {
			Document dt= DocumentHelper.createDocument();
			
			Element employees= dt.addElement("employees");
			Element employee=employees.addElement("employee");
			Element name=employee.addElement("name");
			name.setText("小明");
			Element sex=employee.addElement("sex");
			sex.setText("m");
			
			Element parents=employee.addElement("parents");
			Element father=parents.addElement("father");
			father.setText("小张");
			Element mother=parents.addElement("mother");
			mother.setText("小慧");
			
			FileWriter fw=new FileWriter(fileName);
			XMLWriter xw=new XMLWriter(fw);
			xw.write(dt);
			xw.close();
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		System.out.println("DOM4j create complete..."+fileName);

	}

	public void parserDocument(String fileName) {
		System.out.println("DOM4j parser begin...");
		try {
			File file=new File(fileName);
			SAXReader saxReader=new SAXReader();
			
			Document dt=saxReader.read(file);
			Element employees=dt.getRootElement();
			for(Iterator i=employees.elementIterator();i.hasNext();){
				Element employee=(Element) i.next();
				for(Iterator j=employee.elementIterator();j.hasNext();){
					Element node=(Element) j.next();
					for(Iterator k=node.elementIterator();k.hasNext();){
						Element lastNode=(Element) k.next();
						System.out.println(lastNode.getName()+":"+lastNode.getText());
					}
					if(!node.elementIterator().hasNext()){
						System.out.println(node.getName()+":"+node.getText());
					}
				}
			}
		} catch (DocumentException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		System.out.println("DOM4j parser complete...");
	}
	
	public static void main(String[] args){
		Dom4jXmlDemon dom4j=new Dom4jXmlDemon();
		Dom4jXmlDemon.fileName="E:\\OneNote\\dom4j.xml";
		dom4j.createDocument(fileName);
		dom4j.parserDocument(fileName);
		
	}

}
分享到:
评论

相关推荐

    基于XML的简易联系人备忘录

    总结,基于XML的简易联系人备忘录利用了XML的灵活性和可扩展性,实现了数据的存储和管理。虽然没有数据库的支持,但依然能够满足基本的记录和检索功能,为学习XML提供了一个直观的应用实例。在实际开发中,需要根据...

    dom4j练习示例(备忘用)

    3. **遍历XML结构**:DOM4J提供了一套迭代器和访问器方法,如`element.elementIterator()`,用于遍历XML文档中的元素。 4. **获取元素和属性**:使用`element.element(name)`或`element.attribute(name)`可以获取...

    备忘录_备忘录_微信小程序_wherevermpo_

    在数据管理方面,小程序通常使用微信小程序的本地存储API,如`wx.setStorageSync`和`wx.getStorageSync`,来实现对备忘录的添加、删除、修改和查询操作。这些API允许开发者在小程序的本地存储空间中保存和读取键值对...

    Android 备忘录源码.rar

    通常,开发者会使用XML布局文件来定义界面元素,如EditText用于输入文本,Button用于执行操作,以及ListView或RecyclerView用于显示备忘录列表。 2. **SQLite数据库**:Android内置了SQLite数据库,用于存储应用...

    Android课程设计--便捷备忘录

    1. **MainActivity.java** - 主Activity文件,包含备忘录列表的显示和事件监听。 2. **EditActivity.java** - 编辑备忘录的Activity,用户可以输入新备忘录或者修改已有的。 3. **DatabaseHelper.java** - SQLite...

    微信小程序 备忘录 (源码)

    微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小...

    桌面备忘录(可放在桌面的备忘录)

    4. **标签系统**:通过标签系统,用户可以为不同的备忘录分配类别,如工作、学习、生活等,方便查找和整理。 5. **个性化定制**:为了满足不同用户的审美需求,备忘录可能支持自定义颜色、字体、背景等,使桌面备忘...

    BWL_MFCc++备忘录系统_

    对于备忘录的存储,我们可以选择数据库(如SQLite)、文本文件或XML文件等方式。如果使用数据库,MFC提供了CDatabase和CRecordset类来操作数据库。如果使用文件,可以利用fstream进行读写操作。每条备忘录作为一个...

    android备忘录实现

    在备忘录应用中,可能需要创建自定义的布局文件来展示备忘录列表和详情。 8. **代码生成目录**:`gen`目录下存放由ADT(Android Development Toolkit)自动生成的Java源代码,通常是R.java文件,包含了应用的所有...

    微信小程序源码 备忘录(学习版)

    微信小程序源码 备忘录(学习版)微信小程序源码 备忘录(学习版)微信小程序源码 备忘录(学习版)微信小程序源码 备忘录(学习版)微信小程序源码 备忘录(学习版)微信小程序源码 备忘录(学习版)微信小程序源码 备忘录(学习...

    小程序源码 备忘录 (代码+截图)

    小程序源码 备忘录 (代码+截图)小程序源码 备忘录 (代码+截图)小程序源码 备忘录 (代码+截图)小程序源码 备忘录 (代码+截图)小程序源码 备忘录 (代码+截图)小程序源码 备忘录 (代码+截图)小程序源码 备忘录 (代码+...

    Android开发备忘录

    设计和实现一个类似个人备忘录的 Android APP ,数据库采用 SQLite (也可以直接访问 Web 端 MySQL 数据库、或提供 Web 接口访问 MySQL 数据库)。 1.用户注册和登录(这类 APP 一般面对个人,用户不需要分类别); ...

    日历备忘录Java源码

    在本项目中,"日历备忘录Java源码" 提供了一套完整的日历应用程序的源代码,主要由四个核心文件组成:NotePad.java、CalendarPad.java、Month.java 和 Year.java。这些文件分别代表了备忘录、日历、月份和年份的功能...

    asp在线备忘录系统

    3. **查看备忘录**:用户可以在页面上看到自己创建的所有备忘录,这同样依赖于AJAX异步请求。服务器查询数据库中的备忘录信息,并返回给前端展示。 4. **编辑与删除**:用户可以对已有的备忘录进行修改或删除,这些...

    android studio 简单备忘录

    在Android Studio中开发一个简单的备忘录应用是一个常见的任务,涉及到Android应用程序的基础架构、用户界面设计、数据存储以及事件处理等多个方面。以下是一些相关的知识点: 1. **Android Studio介绍**:Android ...

    Android案例:备忘录。利用数据存储的文件内部存储

    读取完成后,将字符串解析回备忘录对象,显示在界面上。 5. **文件操作**: - 在进行文件操作时,需要处理异常,如`IOException`,确保数据安全。同时,为了防止数据丢失,应该在写操作时使用`try-with-resources`...

    QT4编写的备忘录软件

    3. 文件操作:QT4的QFile和QDir类可用于读写和管理文件,例如保存和加载备忘录文件。 4. 事件处理:QT4事件驱动的编程模型使得可以轻松响应用户操作,如点击按钮触发的事件处理函数。 5. 时间提醒:如果备忘录软件...

    微信小程序 小工具类 备忘录 (源代码+截图)

    微信小程序 小工具类 备忘录 (源代码+截图)微信小程序 小工具类 备忘录 (源代码+截图)微信小程序 小工具类 备忘录 (源代码+截图)微信小程序 小工具类 备忘录 (源代码+截图)微信小程序 小工具类 备忘录 (源...

    用android studio写的一个备忘录

    - **发布准备**:生成APK文件,进行签名和优化,准备上传至Google Play或其他应用市场。 在开发“我的备忘录”这样的应用时,开发者需要熟练掌握上述知识点,并根据实际需求进行功能定制和用户体验优化。此外,随着...

    安卓备忘录源码zip格式

    在【压缩包子文件的文件名称列表】"Android多媒体备忘录(含源码和文件)"中,我们可以推断出这个应用可能具有多媒体功能,如图片、音频或视频的处理和展示。这涉及到Android多媒体框架的使用,包括MediaStore、...

Global site tag (gtag.js) - Google Analytics