package cn.gdpe.xml2;

import java.io.File;
import java.io.FileOutputStream;
import java.util.List;

import org.dom4j.Attribute;
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 XmlWriter {
public static void main(String[] args){
new XmlWriter().modify();
}

private void create() {
try {
//读取文档
// Document dc=new SAXReader().read("src/xml1.xml");
String path=new File("src").getAbsolutePath();
//创建文档
Document dc=DocumentHelper.createDocument();
//修改文档
//写到文件中
//指定写出的格式
OutputFormat format=OutputFormat.createCompactFormat();//紧凑的格式 去除空格换行
OutputFormat format2=OutputFormat.createPrettyPrint();//漂亮的格式 不去除空格换行
File file=new File(path+"/xml2.xml");
if(!file.exists()){
file.createNewFile();
}
FileOutputStream fos=new FileOutputStream(file);
XMLWriter writer=new XMLWriter(fos,format);
XMLWriter writer2=new XMLWriter(fos,format2);
writer.write(dc);
writer.close();
fos.close();
} catch (Exception e) {
throw new RuntimeException(e);
}
}

public void modify(){
try {
Document dc=new SAXReader().read("src/xml2.xml");
List<Element> els=dc.getRootElement().elements("person");
//增加元素
// Element addE=els.get(0).addElement("age");
// addE.addText("25");

//修改文本 1
// els.get(0).element("name").setText("ly");

//修改属性 2
// els.get(0).attribute("id").setValue("009");

//删除元素
Element e=els.get(0).element("age");
e.getParent().remove(e);

//指定写出的格式
String path=new File("src").getAbsolutePath();
// OutputFormat format=OutputFormat.createCompactFormat();//紧凑的格式 去除空格换行
OutputFormat format2=OutputFormat.createPrettyPrint();//漂亮的格式 不去除空格换行
File file=new File("src/xml2.xml");
FileOutputStream fos=new FileOutputStream(file);
// XMLWriter writer=new XMLWriter(fos,format);
XMLWriter writer2=new XMLWriter(fos,format2);
writer2.write(dc);
writer2.close();
fos.close();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}

xml程序 个人练习1的更多相关文章

  1. XML 参考:XML基础 XML 简介

    XML 参考:XML基础 -- XML简介和用途 转:http://www.cnblogs.com/Dlonghow/archive/2009/01/22/1379799.html XML 参考:XM ...

  2. 使用XML的五种场合,XML基本规则,XML的术语,结构与语法

    在很多研讨会和培训班上我遇到过许多人,他们还不明白为什么要使用XML也不知道如何 在他们的应用中使用XML.一些来自诸如Gartner公司的报告建议说,商业公司不能再做 局外人了,不能对XML置之不理 ...

  3. 生成当前目录文件的xml描述

    需求场景:例如需要在当前目录下把相关文件组织成xml文件去描述.通常在组织项目中的升级文件时候可能会用到. 代码示例: using System; using System.Collections.G ...

  4. 使用Android编写录制视频小程序演示样例

    主要实现录制功能的类:Camera类和MediaRecorder类.功能描写叙述:首先进入视频录制界面,点击录像button进入录像功能界面,点击录制開始录制视频, 点击停止button,将录制的视频 ...

  5. Day05 xml详解

    day05总结 今日内容 XML语法 XML约束之DTD XML解析器介绍 XML解析之JAXP( DOM.SAX ) DOM4J Schema   一.XML语法 XML概述   1 什么是XML ...

  6. JavaWeb XML

    1. XML详解 1.1. XML介绍 1.1.1. 什么是XML XML的全称为eXtensible Markup Language,译为可扩展标记语言.XML语法上和HTML比较相似,但HTML中 ...

  7. xml知识点

    XML 被设计用来传输和存储数据. HTML 被设计用来显示数据.应该掌握的基础知识:在您继续学习之前,需要对以下知识有基本的了解: HTML / XHTML JavaScript 如果您希望首先学习 ...

  8. python基础教程总结15——3 XML构建网址

    要求: 网址用一个XML文件描述,其中包括独立网页和目录的信息: 程序能创建所需的目录和网页: 可以改变网址的设计,并且以新的设计为基础重新生成所有网页 概念: 网站:不用存储有关网站本身的任何信息, ...

  9. XML简单介绍及举例

    可扩展标记语言(eXtensibleMarkup Language,简称XML).是一种标记语言.标记指计算机所能理解的信息符号.通过此种标记,计算机之间能够处理包括各种信息的文章等. 怎样定义这些标 ...

随机推荐

  1. UVA1416 Warfare And Logistics

    UVA1416 Warfare And Logistics 链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=36232 [ ...

  2. 折腾iPhone的生活——iOS设备重刷固件

    iOS设备升级系统总共有这么几种方法: 1.OTA升级,也就是我们最常碰到的,在设备上,连上Wifi,在设置里面的软件更新就可以直接通过Wifi安装新的系统(已越狱设备不要这样升级) 2.通过iTun ...

  3. Reachability几个常用方法

    http://oncerios.diandian.com/post/2013-06-28/40050041969

  4. poj 1080 dp如同LCS问题

    题目链接:http://poj.org/problem?id=1080 #include<cstdio> #include<cstring> #include<algor ...

  5. Working XML: Processing instructions and parameters

    Adding support for multiple style sheets This month our hardworking columnist(专栏作家) adds support for ...

  6. 网络子系统41_inet_peer平衡二叉树的删除

    //1.p存在左孩子,则使用p的左孩子的最右孩子替换p,然后重平衡树 //2.p不存在左孩子,则使用p的右孩子替换p,然后重平衡树 1.1 static void unlink_from_pool(s ...

  7. String的成员方法的使用

    <%@ page language="java" contentType="text/html; charset=gbk"%> <html&g ...

  8. UVa1608 UVaLive6258 Non-boring sequences

    填坑系列(p.248) 比较神 从两端枚举 最坏复杂度就成O(nlogn)了 #include<cstdio> #include<cstdlib> #include<al ...

  9. winform 加密 解密 分类: WinForm 2014-05-16 15:05 400人阅读 评论(0) 收藏

    界面显示: 加密: 解密: 代码实现: public string EncryptString(string str)         {             #region 加密程序       ...

  10. 新站上线啦,Html5Think,H5优秀资源的收集、学习、分享和交流

    最近闲来做了个H5资源站,刚刚有点资源,可以访问交流下. 栏目: H5网站模板 H5动画特效 H5资源工具 H5学习资料 致力于H5的学习,通过各个H5优秀案例的学习,逐步完善自己的H5体系,有朝一日 ...