我想把一个对象序列化成XML格式的文本,下面是我的程序:
public class Station implements Serializable{
public String ID;
public String Name;}
public class XmlUtil {
public static String ToXmlText(Object obj)
{
ByteArrayOutputStream bos= new ByteArrayOutputStream(); XMLEncoder encoder = new XMLEncoder(bos);
encoder.writeObject(obj);
encoder.flush();
encoder.close();
return bos.toString();
}
}
public static void main(String[] args) throws SecurityException, NoSuchFieldException
{
StationFactory rf=new StationFactory();
Station s=new Station();
s.ID="001";
s.Name="s1";
String info=XmlUtil.ToXmlText(s);
System.out.println(info);
}
输出:
<?xml version="1.0" encoding="UTF-8"?>
<java version="1.5.0_04" class="java.beans.XMLDecoder">
<object class="roi.Station"/>
</java> 问题:
为什么没有ID 和 Name 的内容?
如何才能有ID 和 Name 的内容?
public class Station implements Serializable{
public String ID;
public String Name;}
public class XmlUtil {
public static String ToXmlText(Object obj)
{
ByteArrayOutputStream bos= new ByteArrayOutputStream(); XMLEncoder encoder = new XMLEncoder(bos);
encoder.writeObject(obj);
encoder.flush();
encoder.close();
return bos.toString();
}
}
public static void main(String[] args) throws SecurityException, NoSuchFieldException
{
StationFactory rf=new StationFactory();
Station s=new Station();
s.ID="001";
s.Name="s1";
String info=XmlUtil.ToXmlText(s);
System.out.println(info);
}
输出:
<?xml version="1.0" encoding="UTF-8"?>
<java version="1.5.0_04" class="java.beans.XMLDecoder">
<object class="roi.Station"/>
</java> 问题:
为什么没有ID 和 Name 的内容?
如何才能有ID 和 Name 的内容?
public class Station implements Serializable{
public String id;
public String name; public void setId(String id){
this.id=id;
}
public String getId(){
return id;
}
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
}
注意id,name小写。初始化时改成这样:
StationFactory rf=new StationFactory();
Station s=new Station();
s.setId("001");
s.setName("s1");
String info=XmlUtil.ToXmlText(s);
System.out.println(info);
成员就一个好设置,属性是两个函数(get,set)annotion怎么设置呢?
setNAME(...)很容易把变量认为是nAME你设置annotion是想做什么?