首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

把类解析成xml解决办法

2012-01-14 
把类解析成xml如:类 部门DeptInfo{private String id private String name private ListEmp emps....

把类解析成xml
如:类 部门DeptInfo{private String id; private String name; private List<Emp> emps;....}
  类 员工EmpInfo {private String id; private String name;}
问题是这样:把传过来的部门实例 如dept1 解析成xml文件 如:
<DeptInfo>
 <id>1001</id>
 <name>航运事业部</name>
 <EmpInfo>
  <id>1001001<id/>
  <name>郝运</name>
 </EmpInfo>
 <EmpInfo>
  <id>1001002<id/>
  <name>拓福</name>
 </EmpInfo>
</DeptInfo>
这样的形式
各位朋友帮帮忙 紧急!

[解决办法]
类似的问题,使用 jaxb。
http://topic.csdn.net/u/20110913/08/a7c8f991-ec91-4769-b77b-9b1718b62185.html
[解决办法]
我用JDOM给你写了一个实例,把XML的结构稍微改了一下,你要跑起来这个程序需要下载jdom.jar包,如果没有可以留个邮箱给你发过去

Java code
import org.jdom.Element;import org.jdom.Document;import org.jdom.output.XMLOutputter;import java.util.List;import java.util.ArrayList;import java.io.File;import java.io.FileOutputStream;/** * Created by IntelliJ IDEA. * User: Administrator * Date: 2011-9-18 * Time: 11:36:25 * To change this template use File | Settings | File Templates. */public class DeptInfo {    private String id;    private String name;    public String getId() {        return id;    }    public void setId(String id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public List<EmpInfo> getEmps() {        return emps;    }    public void setEmps(List<EmpInfo> emps) {        this.emps = emps;    }    private List<EmpInfo> emps;    public void saveToXML(File file){        Element root=new Element("DeptInfo");        Document document=new Document(root);        Element id=new Element("id");        id.setText(this.getId());        Element name=new Element("name");        name.setText(this.getName());        Element empInfos=new Element("empInfos");        for(EmpInfo ei:this.getEmps()){            Element empInfo=new Element("empInfo");            Element empId=new Element("id");            empId.setText(ei.getId());            Element empName=new Element("name");            empName.setText(ei.getName());            empInfo.addContent(empId);            empInfo.addContent(empName);            empInfos.addContent(empInfo);        }//        List<Element> list=new ArrayList<Element>();//        list.add(env1);//        list.add(env2);        root.addContent(id);        root.addContent(name);        root.addContent(empInfos);        org.jdom.output.Format format = org.jdom.output.Format.getCompactFormat();        format.setEncoding("UTF-8");        format.setIndent("  ");        try {            XMLOutputter outputter = new XMLOutputter(format);            outputter.output(document, new FileOutputStream(file));        } catch (Exception ex) {            ex.printStackTrace();        }    }    public static void main(String[] args){        EmpInfo ei1=new EmpInfo("1","ei1");        EmpInfo ei2=new EmpInfo("2","ei2");        EmpInfo ei3=new EmpInfo("2","ei3");        DeptInfo di=new DeptInfo();        di.setId("1");        di.setName("di1");        List<EmpInfo> list=new ArrayList<EmpInfo>();        list.add(ei1);        list.add(ei2);        list.add(ei3);        di.setEmps(list);        di.saveToXML(new File("E:\\deptInfo.xml"));    }} 

热点排行