一、首先看一下,写出内容到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修改文件的流程。
以上就是dom4j修改xml文档引入的内容。