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. canvas-画图改进版

    前几天在canvas——画板中做了个很简陋的画板,只能画简单的线条,可以选择颜色和线条粗度,今天在此简陋的画板上增加了新的形状,撤销,保存,橡皮擦等功能,虽然功能还是很简单,刚接触canvas,过程中 ...

  2. Cogs 1672. [SPOJ375 QTREE]难存的情缘 LCT,树链剖分,填坑计划

    题目:http://cojs.tk/cogs/problem/problem.php?pid=1672 1672. [SPOJ375 QTREE]难存的情缘 ★★★☆   输入文件:qtree.in  ...

  3. disconf实践(二)

    因为有些系统的配置文件会随着业务更改,如某些控制开关,当大批量集群时,按照上一篇文章的配置就不够啦,需要做到热加载. 研究了一下,还好,比较简单,只要替换上一篇文章第4步的配置文件(spring-di ...

  4. HTTP协议的特点

    HTTP协议的主要特点可概括如下: 1.支持客户/服务器模式.2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径.请求方法常用的有GET.HEAD.POST.每种方法规定了客户与服务器联系的 ...

  5. NULL不能和任何字段比较和运算

    UPDATE dbo.PayPalPaymentInfo SET GrossAmount=TotalPrice+TaxAmount WHERE GrossAmount IS NULL --如果TaxA ...

  6. DSPack各种使用方法

    1. DSPack 2.3.4 安装   一. 下载由于sourceforge最近不能访问,所以可以去 http://www.progdigy.com/ 下载.下载 http://www.progdi ...

  7. Innodb_buffer_pool_pages_dirty [一个故事@MySQL DBA]MYSQL

    http://www.orczhou.com/index.php/2010/12/more-about-mysql-innodb-shutdown/http://www.orczhou.com/ind ...

  8. [转] 用管道获得shell 命令的输出

    用管道: 通过fgets(buf, n, ptr)buf就可以得到命令“ps -ef"一样的信息, 读帮助”man popen": char *cmd = "ps -ef ...

  9. 关于String的hashCode

    String str=new String("abc"); String str2="abc"; System.out.println(str.hashCode ...

  10. css考核点整理(三)-css选择器的使用

    css选择器的使用