dom4j 01

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;
	  }


 

	 
 
 
}

 

你可能感兴趣的:(xml,socket)