Hi
I am using XMLEncoder to save
java object to xml file. But there is something wrong! Please help!
import java.beans.XMLDecoder;
import java.beans.XMLEncoder;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class DataObjectHelper {
public DataObjectHelper() {
super();
// TODO Auto-generated constructor stub
}
public static void write(Object f, String filename) throws Exception {
XMLEncoder encoder = new XMLEncoder(new BufferedOutputStream(
new FileOutputStream(filename)));
encoder.writeObject(f);
encoder.close();
}
public static Object read(String filename) throws Exception {
XMLDecoder decoder = new XMLDecoder(new BufferedInputStream(
new FileInputStream(filename)));
Object o = decoder.readObject();
decoder.close();
return o;
}
public static void main(String[] args) {
System.out.println("Start");
try {
DataObject ld =new DataObject( "");
ld.setName("name");
DataObjectHelper.write((DataObject) ld, "c:\\Label.xml");
} catch (Exception e) {
System.out.println("Exception");
e.printStackTrace();
}
}
}
where
public class DataObject {
private String name;
/**
* @param name
*/
public DataObject(String name) {
// TODO Auto-generated constructor stub
this.name = name;
}
/**
* @return Returns the name.
*/
public String getName() {
return name;
}
/**
* @param name The name to set.
*/
public void setName(String name) {
this.name = name;
}
}
and have the output as:
<?xml version="1.0" encoding="UTF-8"?>
<java version="1.4.2_07" class="java.beans.XMLDecoder">
<object class="tycoint.ITransportKPE.DataObject"/>
</java>
Why the field name is not included in the xml result?
Regards
Tyson