xml与对象的相互转换带来的好处毋庸置疑:
1、可以将对象存储在硬盘文件中方便调用和使用。
2、可以作为报文进行数据通信的传输,类似socket传输字节码一样
public class dom4jtest {
public static void main(String[] args) {
dom4jtest domtest= new dom4jtest();
domtest.createXMLFile("d:/ysen.xml");
}
/**
* 建立一个XML文档,文档名由输入属性决定
* @param fileName需建立的文件名
* @return 返回操作结果, false表失败, true表成功
*/
public boolean createXMLFile(String fileName) {
/** 返回操作结果, false表失败, true表成功 */
boolean returnValue = false;
/** 建立document对象 */
Document document = DocumentHelper.createDocument();
/** 建立XML文档的根books */
Element friendsElement = document.addElement("friends");
/** 加入一行注释 */
friendsElement.addComment("This is a messagestest for dom4j, ysen, 2010-4-10");
/** 加入第一个message节点 */
Element messagekElement = friendsElement.addElement("message");
/** 加入show属性内容 */
messagekElement.addAttribute("show", "yes");
/** 加入title节点 */
Element titleElement = messagekElement.addElement("title");
/** 为title设置内容 */
titleElement.setText("hello world");
/** 类似的完成后两个message */
messagekElement = friendsElement.addElement("message");
messagekElement.addAttribute("show", "yes");
titleElement = messagekElement.addElement("title");
titleElement.setText("中文");
messagekElement = friendsElement.addElement("message");
messagekElement.addAttribute("show", "no");
titleElement = messagekElement.addElement("title");
titleElement.setText("i am fine");
/** 加入owner节点 */
Element ownerElement = friendsElement.addElement("owner");
ownerElement.setText("ysen");
try {
document.setXMLEncoding("gbk");
String text = document.asXML();
System.out.println(text);
//输入返回到页面
Writer writer = new StringWriter();
writer.write(text);
writer.toString();
/** 将document中的内容写入文件中 */
/* XMLWriter writer = new XMLWriter(new FileWriter(new File(fileName)));
writer.write(document);
writer.close(); */
/** 执行成功,需返回true */
returnValue = true;
}
catch (Exception e) {
e.printStackTrace();
}
return returnValue;
}
}