深入解析JAVA使用Dom4j实现xml字符串与xml文件的转换操作
文章《JAVA使用Dom4j解析XML》介绍了用Dom44j解析XML。其中包括节点的解析遍历、节点的增加、删除、写入文件等操作。本文将继续用dom4j实现xml字符串与xml文件之间的转换。

[id_389182587]
(1)代码
//xml文档或节点转换为字符串
@Test
公共的 void 方法 test5 抛出 异常
//创建SAXReader对象
创建一个SAXReader对象并将其赋值给reader变量
//读取文件 转换成Document
文档对象document 由读取器reader 读取一个文件而生成 该文件路径为src/cn/com/yy/dom4j/s.xml
//document转换为String字符串
将文档转换为字符串形式 该字符串为文档的XML表示
//获取根节点
元素根 = 文档获取根元素; 文档获取根元素得到元素根; 元素根由文档获取根元素获取; 文档的根元素被获取得到元素根
//根节点转换为String字符串
将根对象转换为 XML 格式的字符串。根对象调用 asXML 方法得到字符串。该字符串赋值给 rootStr 变量。
系统输出“root 字符串:”加上 rootStr
//获取其中student1节点
元素student1Node等于根元素的子元素“student1”
//student1节点转换为String字符串
将学生1节点转换为XML格式的字符串并赋值给student1Str变量
}
(2)结果
document 字符串:
<微信公众号>@残缺的孤独微信公众号>
<学号>20140101学号>
<地址>北京海淀区地址>
<座右铭>要么强大,要么听话座右铭>
<新浪微博>@残缺的孤独新浪微博>
<学号>20140102学号>
<地址>北京朝阳区地址>
<座右铭>在哭泣中学会坚强座右铭>
root 字符串:
<微信公众号>@残缺的孤独微信公众号>
<学号>20140101学号>
<地址>北京海淀区地址>
<座右铭>要么强大,要么听话座右铭>
<新浪微博>@残缺的孤独新浪微博>
<学号>20140102学号>
<地址>北京朝阳区地址>
<座右铭>在哭泣中学会坚强座右铭>
student1 字符串:
<微信公众号>@残缺的孤独微信公众号>
<学号>20140101学号>
<地址>北京海淀区地址>
<座右铭>要么强大,要么听话座右铭>
(3)其中s.xml文件如下
<微信公众号>@残缺的孤独微信公众号>
<学号>20140101学号>
<地址>北京海淀区地址>
<座右铭>要么强大,要么听话座右铭>
<新浪微博>@残缺的孤独新浪微博>
<学号>20140102学号>
<地址>北京朝阳区地址>
<座右铭>在哭泣中学会坚强座右铭>
2、xml字符串转换为Document对象
(1)代码
//xml字符串转换为Document对象
@Test
public void test6() throws Exception { 可改写为:公共的无效的方法 test6 抛出异常
String xmlStr = "@残缺的孤独 25 软件开发工程师 ";
此文档通过DocumentHelper.parseText(xmlStr)得到
//写入emp1.xml文件
将文档写入新文件
}
(2)结果
@残缺的孤独
25
软件开发工程师
3、新建Document
我们使用dom4j新建document对象,并写入文件中。
(1)代码
//新建Document对象,添加节点元素并写入文件
@Test
public void test7() throws Exception { 可改写为:公有 void test7() 抛出异常 { (但这种改写可能会在语法上稍显生硬,因为原句在Java代码语境下是很规范的写法,若严格按要求改写可能会影响代码的准确性和可读性,这里只是尽力满足改写需求)
将其赋值给名为document的变量
元素根元素 = 文档添加元素(“员工”)
元素empName 被添加到根元素 根元素添加了一个名为empname的元素 名为empname的元素被根元素添加 根元素添加了元素empName 元素empName由根元素添加 根元素添加名为empname的元素 名为empname的元素由根元素添加 根元素添加了empName元素 根元素添加元素empName 根元素添加名为empname的元素 名为empname的元素被根元素所添加 根元素添加empName元素 根元素添加元素empName 根元素添加名为empname的元素 名为empname的元素被根元素添加进去 根元素添加了empName这个元素 根元素添加元素empName 根元素添加名为empname的元素 名为empname的元素由根元素来添加 根元素添加empName元素 根元素添加元素empName 根元素添加名为empname的元素 名为empname的元素被根元素给添加 根元素添加了empName元素 根元素添加元素empName 根元素添加名为empname的元素 名为empname的元素被根元素添加而成 根元素添加empName元素 根元素添加元素empName 根元素添加名为empname的元素 名为empname的元素被根元素进行添加 根元素添加了empName元素 根元素添加元素empName 根元素添加名为empname的元素 名为empname的元素被根元素予以添加 根元素添加empName元素 根元素添加元素empName 根元素添加名为empname的元素 名为empname的元素被根元素加进去 根元素添加了empName元素 根元素添加元素empName 根元素添加名为empname的元素 名为empname的元素被根元素添加出来 根元素添加empName元素 根元素添加元素empName 根元素添加名为empname的元素 名为empname的元素被根元素添加上来 根元素添加了empName元素 根元素添加元素empName 根元素添加名为empname的元素 名为empname的元素被根元素添加下去 根元素添加empName元素 根元素添加元素empName 根元素添加名为empname的元素 名为empname的元素被根元素添加过来 根元素添加了empName元素 根元素添加元素empName 根元素添加名为empname的元素 名为empname的元素被根元素添加过去 根元素添加empName元素 根元素添加元素empName 根元素添加名为empname的元素 名为empname的元素被根元素添加往 根元素添加了empName元素 根元素添加元素empName 根元素添加名为empname的元素 名为empname的元素被根元素添加向 根元素添加empName元素 根元素添加元素empName 根元素添加名为empname的元素 名为empname的元素被根元素添加至 根元素添加了empName元素 根元素添加元素empName 根元素添加名为empname的元素 名为empname的元素被根元素添加于 根元素添加empName元素 根元素添加元素empName 根元素添加名为empname的元素 名为empname的元素被根元素添加在 根元素添加了empName元素 根元素添加元素empName 根元素添加名为empname的元素 名为empname的元素被根元素添加入 根元素添加empName元素 根元素添加元素empName 根元素添加名为empname的元素 名为empname的元素被根元素添加进 根元素添加了empName元素 根元素添加元素empName 根元素添加名为empname的元素 名为empname的元素被根元素添加到 根元素添加empName元素 根元素添加元素empName 根元素添加名为empname的元素 名为empname的元素被根元素添加成 根元素添加了empName元素 根元素添加元素empName 根元素添加名为empname的元素 名为empname的元素被根元素添加作 根元素添加empName元素 根元素添加元素empName 根元素添加名为empname的元素 名为empname的元素被根元素添加为 根元素添加了empName元素 根元素添加元素empName 根元素添加名为empname的元素 名为empname的元素被根元素添加起 根元素添加empName元素 根元素添加元素empName 根元素添加名为empname的元素 名为empname的元素被根元素添加出 根元素添加了empName元素 根元素添加元素empName 根元素添加名为empname的元素 名为empname的元素被根元素添加自 根
empName.setText("@残缺的孤独");
元素名为age
empAge.setText("25");
元素empTitle被添加到根元素中。根元素添加了一个名为title的元素。该元素就是empTitle。
empTitle.setText("软件开发工程师");
//写入文档emp.xml
writerDocumentToNewFile(document);
}
(2)结果(emp.xml)
@残缺的孤独
25
软件开发工程师
由此能够看出 使用dom4j能够轻松实现 xml字符串与document之间的转换 并且创建document对象变得简单容易
« 上一篇
数字化时代儿童编程入门指南:选对工具很关键
下一篇 »
从M个数字选取N个数字排列算法思路及知识储备解析