JAVA使用Dom4j实现字符串和xml文件相互转换

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

1、xml文档或节点转换为字符串

(1)代码

//xml文档或节点转换为字符串
	@Test
	public void test5()throws Exception{
		//创建SAXReader对象
		SAXReader reader = new SAXReader();
		//读取文件 转换成Document
		Document document = reader.read(new File("src/cn/com/yy/dom4j/s.xml"));
		//document转换为String字符串
		String documentStr = document.asXML();
		System.out.println("document 字符串:" + documentStr);
		//获取根节点
		Element root = document.getRootElement();
		//根节点转换为String字符串
		String rootStr = root.asXML();
		System.out.println("root 字符串:" + rootStr);
		//获取其中student1节点
		Element student1Node = root.element("student1");
		//student1节点转换为String字符串
		String student1Str = student1Node.asXML();
		System.out.println("student1 字符串:" + 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{
		String xmlStr = "@残缺的孤独25软件开发工程师";
		Document document = DocumentHelper.parseText(xmlStr);
		//写入emp1.xml文件
		writerDocumentToNewFile(document);
	}
(2)结果



  @残缺的孤独
  25
  软件开发工程师

3、新建Document

我们使用dom4j新建document对象,并写入文件中。

(1)代码

//新建Document对象,添加节点元素并写入文件
	@Test
	public void test7()throws Exception{
		Document document = DocumentHelper.createDocument();
		Element rootElement = document.addElement("employee");
		Element empName = rootElement.addElement("empname");
		empName.setText("@残缺的孤独");
		Element empAge = rootElement.addElement("age");
		empAge.setText("25");
		Element empTitle = rootElement.addElement("title");
		empTitle.setText("软件开发工程师");
		//写入文档emp.xml
		writerDocumentToNewFile(document);
	}
(2)结果(emp.xml) 



  @残缺的孤独
  25
  软件开发工程师

从上可以看出,使用dom4j可以很容易的实现xml字符串与document之间的转换,并且创建document对象变得简易。

你可能感兴趣的:(J2SE)