只要能实现任意对象与XML相互转换的工具与代码都可以!

解决方案 »

  1.   

    还是自己写吧
    你那里
    <User>
    <name>test</name>
    <sex>1<sex>
    </User>name是key的名字,里边的value,即key对应该的值,map的话,通过调用entry.getKey()得到关键字名,再把值写进去就好了,我昨天本来已经写好一个了,就是不知道你的list要显示成什么样子
      

  2.   

    如 list.add("a");
       list.add("b");
    <list>
      <a>a</a>
      <b>b</b>
    <list>list.add(userMap);
    list.add(otherObject);
    <list>
       <user>
          <name>test</name>
          ...
       <user>
       <otherObject>
        ....
       </otherObject>
    </list>不过我想可能没有现成的工具可用,只能自己定个规则约束,可能不具备通用性~~
      

  3.   

    /*
     * Created on Mar 28, 2006
     *
     * TODO To change the template for this generated file go to
     * Window - Preferences - Java - Code Style - Code Templates
     */
    package com.apach;import java.util.*;import com.thoughtworks.xstream.XStream;/**
     * @author YongDongLiang
     *
     * TODO To change the template for this generated type comment go to
     * Window - Preferences - Java - Code Style - Code Templates
     */
    public class XStreamTest {
    public static void main(String[] args){
    User user = new User();
    user.setName("test");
    user.setSex(1);
                            
    XStream xstream=new XStream(); 
    xstream.alias("User",User.class); 
    System.out.println(xstream.toXML(user));
    }
    }
    class User{
    private String name;
    private int sex;
    public void setName(String name){
    this.name = name;
    }
    public String getName(){
    return name;
    }
    public void setSex(int sex){
    this.sex = sex;
    }
    public int getSex(){
    return sex;
    }}
      

  4.   

    楼主你这样的话,可能有岐义呢
    <list>
    <a>a</a>
    <b>b</b>
    <list>
    那个这个<a>倒底是属性名呢,还是值呢?这个规则有问题
      

  5.   

    我说了,用JavaBean是没问题,但是用Map,Collection等对象转换出来的就不是一回事啊,你可以试试,查看了xstream源码的test,MapConverter结果也是以下格式~~
    <User> 
      <entry> 
        <string>sex</string> 
        <int>1</int> 
      </entry> 
      <entry> 
        <string>name</string> 
        <string>test</string> 
      </entry> 
    </User>