RSS
热门关键字:  java  Ajax  JSP  JSF  Struts
当前位置 : 首页>Java>列表

用分治法解决级联对象与相应XML之间的互相转化

来源: 作者: 时间:2007-09-17 点击:

}

public void setEmployees(List<Employee> employees) {
this.employees = employees;
}
}

Employee类:

package com.sitinspring.objectxml;

import org.dom4j.Element;

public class Employee {
private String name;

private int age;

public Employee(Element element) {
this.name = element.attributeValue("name");
this.age = Integer.parseInt(element.elementText("age"));
}

public Element makeElement(Element parentElm) {
Element element = parentElm.addElement("employee");

element.addAttribute("name", this.name);
Element ageElm = element.addElement("age");
ageElm.setText(String.valueOf(this.age));

return element;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}
}

  从上面三个构造函数我们可以发现,传入一个节点,程序会解析这个节点并生成一个对象。

  从对象生成XML是构造函数的逆过程,思想是一样的,这里就不赘述了,大家观察三个类中的makeElement函数即可。

  调用过程:

package com.sitinspring.objectxml;

import java.io.File;
import java.io.FileWriter;

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;

public class Test{
public static void main(String[] args){
try{
// 从XML得到对象
SAXReader reader = new SAXReader();
Document document= reader.read(new File("group1.xml"));
Element groupElm=document.getRootElement().element("group");
Group group=new Group(groupElm);

// 从对象得到XML
Document document2 = DocumentHelper.createDocument();
Element root = document2.addElement("root");
Element groupElm2=group.makeElement(root);

XMLWriter writer = new XMLWriter(new FileWriter("group2.xml"));
writer.write(document2);
writer.close();
}
catch(Exception ex){
ex.printStackTrace();
}
}
}

共2页: 上一页 [1] 2 下一页
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册
Google Adsense
相关文章