# java.beans.XMLEncoder



## Slava (8. Feb 2004)

ich hab eine Selbstdifenierte-Klasse (MyClass) geschrieben, die ich als xml datei serialisieren will
MyClass mc=new MyClass("bla","bla");

```
XMLEncoder xsp=new XMLEncoder(new FileOutputStream("Test.xml"));
xsp.writeObject(mc);//und das will er enfach nicht machen ???
```
warum klappt es xsp.writeObject() mit allen vordifenierten java-classen, und mit meiner nicht???
vieleicht muss  meine classe ein bestimmtes interface implimentieren?
Danke.


----------



## bygones (8. Feb 2004)

kenn leider die Klassen nicht, aber intuitiv - erbst du von XMLEncoder ? dann sollte er die Method auch kennen....  ???:L


----------



## Slava (9. Feb 2004)

Es klappt wunderbar mit allen vordiefenierten Java-classen, z.b.s Vector oder String, aber die sind von XMLEncoder nicht abgeleitet also es muss was Anderes sein.


----------



## Beni (9. Feb 2004)

Auch wenn mein English nicht sehr gut ist:



> Despite the similarity of their APIs, the XMLEncoder  class is *exclusively designed* for the purpose of *archiving graphs of JavaBeans* as textual representations of their public properties.



Sieht so aus, als müsste man da mit JavaBeans arbeiten.


----------



## René Link (16. Feb 2004)

Hi,

vielleicht hilft dir das hier weiter.
Denke daran immer einen Standardkonstruktor zu implementieren.
Außerdem muss deine Klasse public sein.


```
import java.beans.*;

public class XMLEncoderTest {

  private String aProperty;

  public XMLEncoderTest(){
  }

  public XMLEncoderTest(String str){
    this.aProperty = str;
  }

  public String getAProperty(){
    return this.aProperty;
  }

  public void setAProperty(String str){
    this.aProperty = str;
  }

  public static void main(String[] args) {
      XMLEncoder encoder = new XMLEncoder(System.out);
      XMLEncoderTest aClass = new XMLEncoderTest("TEST");
      encoder.writeObject(aClass);
      encoder.flush();
      encoder.close();
  }
}
```


----------



## Slava (22. Feb 2004)

*Danke an René Link!!!
es lag wirklich an Standardkonstruktor.*


----------

