zoukankan      html  css  js  c++  java
  • Dom4j修改xml文档引入

    前面介绍了如何解析xnl文档的内容,这里对修改xml展开讨论。

    一、首先看一下,写出内容到xml文档的主要代码:

    XMLWriter writer = new XMLWriter(OutputStream, OutputForamt)
    wirter.write(Document);
    

    整个业务逻辑和解释如下代码所示:

    public class Demo1 {
    	
    	public static void main(String[] args) throws Exception{
    		//一、读取或创建一个Document对象
    		//读取day07项目的xm文件(封装数据源)
    		Document doc = new SAXReader().read(new File("./src/contact.xml"));
    		
    		
    		//二、修改Document对象内容.那么这里就把原来的文档给修改了。
    		//注意:如果这里不做修改数据源文件的内容,则相当于复制功能。
    		
    		
    		//三、把修改后的Document对象写出到xml文档中
    		//指定文件输出的位置(封装目的地)
    		FileOutputStream out = new FileOutputStream("d:/contact.xml");
    		//1.创建写出对象,指定写出位置。
    		XMLWriter writer = new XMLWriter(out);
    		
    		
    		//2.写出对象,把数据源的文件内容经过修改之后写到目的地文件内去。
    		writer.write(doc);
    		//3.关闭流
    		writer.close();
    	}
    
    }


    二、讨论写出内容到xml文档的细节,即写出格式也很重要。代码解释如下:


    public class Demo2 {
    
    	/**
    	 * @param args
    	 */
    	public static void main(String[] args) throws Exception{
    		Document doc = new SAXReader().read(new File("./src/contact.xml"));
    		//指定文件输出的位置
    		FileOutputStream out = new FileOutputStream("d:/contact.xml");
    		/**
    		 * 1.指定写出的格式
    		 */
    		OutputFormat format = OutputFormat.createCompactFormat(); //紧凑的格式.去除空格换行.项目上线的时候使用
    		//OutputFormat format = OutputFormat.createPrettyPrint(); //漂亮的格式.有空格和换行.开发调试的时候使用
    		/**
    		 * 2.指定生成的xml文档的编码
    		 *    同时影响了xml文档保存时的编码  和  xml文档声明的encoding(xml解析时的编码)的编码。都设置成了一个编码方式保持了一致。
    		 *    结论: 使用该方法生成的xml文档避免中文乱码问题。
    		 */
    		format.setEncoding("utf-8");
    		
    		
    		//1.创建写出对象
    		XMLWriter writer = new XMLWriter(out,format);
    		
    		//2.写出对象
    		writer.write(doc);
    		//3.关闭流
    		writer.close();
    	}
    
    }


    我们要做的就是     对“二”部分做修改。下一篇,对整个过程以代码形式解释,dom4j修改文件的流程。

  • 相关阅读:
    WPF动态加载3D 放大-旋转-平移
    WPF窗口继承实现统一风格的自定义窗口
    桌面程序的其他实现方式----使用WPF窗体展现网页
    WPF 中自定义控件及其使用
    flask系列三之Jinja2模板
    Python模块学习
    利用Flask-SQLAlchemy提供的paginate()方法实现博客文章的分页显示
    Python利用flask sqlalchemy实现分页效果
    sqlalchemy和flask-sqlalchemy几种分页操作
    Python SQLAlchemy ORM示例
  • 原文地址:https://www.cnblogs.com/wanghang/p/6299740.html
Copyright © 2011-2022 走看看