I am trying to use the xmlEncoder to write to xml file in net-beans but it doesnt work.
Here is the call to the writing function:
dbManipulator.writeStudents(deps);
where
deps = new Hashtable<String, Department>();
dbManipulator = new DataBaseManipulator();
Department is an class-object I made, and here is writeStudents method which is located in the DataBaseManipulator class:
public void writeStudents(Hashtable<Integer, Student> students)
{
XMLEncoder encoder = null;
try
{
encoder = new XMLEncoder(new FileOutputStream(".\\test\\Students.xml"));
}
catch(Exception e){}
encoder.writeObject(students);
encoder.close();
}//end of function writeStudents()
Any ideas why it isnt working? I tried changing the hashtable to vector but still the xml file looks like that after the writing:
<?xml version="1.0" encoding="UTF-8"?>
<java version="1.6.0_18" class="java.beans.XMLDecoder">
<object class="java.util.Hashtable"/>
</java>
Thanks in advance,
Greg
Is
Studentsfollowing Java Beans spec? Don’t forget that if your object only has default data, nothing will be written except an element representing that there is such anobject. That’s because the encoder doesn’t write any data that the default constructor can take care of.
Check if your hashTable really contains student objects.