xml文件的读写

dom4j读写,用dom4j更改xml文件的数据实际是一个查询更新的过程。

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

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

public class dom4jTest {
    public void XMLWriter(){
        try {
            XMLWriter writer = null;// 声明写XML的对象
            SAXReader reader = new SAXReader();

            OutputFormat format = OutputFormat.createPrettyPrint();
            format.setEncoding("UTF-8");// 设置XML文件的编码格式

            String filePath = "src/test.xml";
            File file = new File(filePath);

            if (file.exists()) {/**验证文件是否存在*/
                Document document = reader.read(file);// 读取XML文件
                Element root = document.getRootElement();// 得到根节点

                // 添加一个学生信息
                Element student = root.addElement("user");
                student.addAttribute("id", "001");
                Element code = student.addElement("code");
                code.setText("100");
                Element name = student.addElement("name");
                name.setText("张三");
                Element sex = student.addElement("sex");
                sex.setText("男");
                Element age = student.addElement("age");
                age.setText("21");

                writer = new XMLWriter(new FileWriter(filePath), format);
                writer.write(document);
                writer.close();
            } else {
                // 新建student.xml文件并新增内容
                Document document = DocumentHelper.createDocument();
                Element root = document.addElement("userinfo");
                Element student = root.addElement("user");
                student.addAttribute("id", "001");
                Element code = student.addElement("code");
                code.setText("100");
                Element name = student.addElement("name");
                name.setText("张三");
                Element sex = student.addElement("sex");
                sex.setText("男");
                Element age = student.addElement("age");
                age.setText("21");

                writer = new XMLWriter(new FileWriter(file), format);
                writer.write(document);
                writer.close();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public void XMLRead(){
        try{
             SAXReader reader = new SAXReader();
            Document document = reader.read(new File("src/test.xml"));
            Element root = document.getRootElement();
            for (Iterator i = root.elements("user").iterator(); i.hasNext();) {
                Element user = (Element) i.next();
                String code = user.element("code").getText();
                String name = user.element("name").getText();
                String sex = user.element("sex").getText();
                String age = user.element("age").getText();;

                System.out.print(code+","+name+","+sex+","+age);
            }
        }catch(Exception e){
            e.printStackTrace();
        }
    }
}

xml文件

<?xml version="1.0" encoding="UTF-8"?>

<userinfo>
  <user id="001">
    <code>100</code>
    <name>张三</name>
    <sex>男</sex>
    <age>21</age>
  </user>
</userinfo>
时间: 2024-11-09 00:39:17

xml文件的读写的相关文章

Qt对xml文件的读写

最近研究了一下qt下对xml文件的读写,小计一下,成为自己的知识. main函数调用: 1 #include <QApplication> 2 #include "readconfig.h" 3 #include "writeconfig.h" 4 5 int main(int argc,char **argv) 6 { 7 QApplication a(argc,argv); 8 9 //ReadConfig readConfig; 10 11 //r

Android初学笔记——xml文件的读写

利用XmlSerializer和XmlPullParser对xml文件进行读写操作 下面是XmlSerializer在手机内存中写入xml文件的内容: public void writeXML(){ File file =new File(this.getFilesDir(), "test.xml"); XmlSerializer s=Xml.newSerializer(); try { FileOutputStream fos = new FileOutputStream(file)

.NET下XML文件的读写

一.前言: XML是微软.Net战略的一个重要组成部分,而且它可谓是XML Web服务的基石,所以掌握.Net框架下的XML技术自然显得非常重要了.本文将指导大家如何运用C#语言完成.Net框架下的XML文档的读写操作.首先,我会向大家介绍.Net框架中与XML相关的命名空间和其中的重要类.其次,我还会给出有关的实例以使读者更进一步的了解XML文档的读写操作的具体方法. 二.XML命名空间和相关类简介: 在深入进行.Net框架下的XML文档的操作之前,我想很有必要向大家介绍.Net框架中与XML

【C++】【TinyXml】xml文件的读写功能使用——写xml文件

TinyXml工具是常用比较简单的C++中xml读写的工具 需要加载 #include "TinyXml\tinyxml.h" 在TinyXML中,根据XML的各种元素来定义了一些类: TiXmlBase:整个TinyXML模型的基类. TiXmlAttribute:对应于XML中的元素的属性. TiXmlNode:对应于DOM结构中的节点. TiXmlComment:对应于XML中的注释 TiXmlDeclaration:对应于XML中的申明部分,即<?versiong=&qu

asp.net对xml文件的读写,添加,修改,删除操作

using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; usi

PHP读写XML文件的四种方法

PHP对XML文件进行读写操作的方法一共有四种,分别是:字符串方式直接读写.DOMDocument读写. XMLWrite写和XMLReader读.SimpleXML读写,本文将依次对这四种方法进行介绍. 介绍之前首先对本文例子使用的数据和文件进行说明.本文写XML文件的例子都是从MySQL中读取数据然后 写入到XML文件中,读XML文件的例子都是从XML文件中读取数据后组装成数组的格式,数组中每个元素对应数 据库中的一条记录. MySQL中的数据: XML文件: 1 2 3 4 5 6 7 8

PHP读写XML文件(一)

PHP读写XML文件的方法有四种,从本文开始将连续使用四篇博文来分别介绍这四种方法.本文介绍的是第一种方法: 使用字符串操作的方式来对XML文件进行读写操作. 一.PHP字符串方式写XML文件: 首先介绍PHP使用字符串方式写XML文件.本例将读取数据库中的数据,输出为XML文件. 数据库数据如下: 读取数据并写入XML文件代码: <?php /** * function:使用字符串方式写XML文件 * author:JetWu * date:2016.12.03 **/ $mysqli = m

XML文件解析之--DOM与SAX

xml文件又称‘可扩展性标记语言’,可以对文档和数据进行结构化处理,从而能够在部门.客户和供应商之间进行交换,实现动态内容生成,企业集成和应用开发. 我们在进行web开发的时候离不开xml文件,xml文件无处不在,这次就烂讨论一下xml常用的解析方法及其CRUD操作,欢迎大家交流指正. 我们先来看看两种解析方式的过程,比较一下他们的优劣之处. SAX解析方式:它对xml文档进行逐行扫描,一边扫描一边解析.当扫描到文档(document)开始与结束.元素(element)开始与结束.文档(docu

【DRP】采用dom4j完成XML文件导入数据库

xml文件在现在的web开发中扮演着重要的角色,从数据库连接配置到其他各种参数的设置,xml文件在反射技术的应用中举足轻重,也正因为xml文件中保存着如此重要的参数,所以对xml文件的读写操作就显得更加重要.下面我们重点讲解一下dom4j完成XML文件导入数据库. 0.带读取的xml文件如下: 1.利用PL/SQL导入SQL脚本,建立Oracle数据库表(表T_XML)结构,用于接收xml导入的数据 2.按照下图,建立目录并导入相应文件 通过引入的相关jar包,实现dom4j技术解析xml文件(