# castor und sourcegenerator



## naeko (10. Apr 2007)

Hallo,

bin Neueinsteiger in Sachen Castor und wollte folgendes wissen:
1.um ein Objekt-Modell aus einer XSD zu erzeugen wird in vielen Beispielen ein SourceGenerator verwendet. Kann man dieses Tool irgendwo downloaden?
2. Gibt es eine Möglichkeit beim Marshalling bzw. Unmarshalling den Inhalt der XML-Datei aus einem String auslesen?
Normal wird es so gemacht:
Unmarshaller.unmarshal(<class>,new FileReader("meinedatei.xml"));
Marshaller.marshal(<class>, new FileWriter("meinedatei.xml"));

und ich brauche an Stelle des 2.Parameters einfach ein String


----------



## Wildcard (10. Apr 2007)

1. Dafür wird in der Regel EMF oder JaxB  verwendet.
2. Ja, das geht.


----------



## naeko (10. Apr 2007)

danke
2. und wie?


----------



## Wildcard (10. Apr 2007)

bei JaxB:

```
JAXBContext jc = JAXBContext.newInstance( "com.acme.foo" );
Unmarshaller u = jc.createUnmarshaller();
StringBuffer xmlStr = new StringBuffer( "<?xml version="1.0"?>..." );
Object o = u.unmarshal( new StreamSource( new StringReader( xmlStr.toString() ) ) );
```


----------



## naeko (10. Apr 2007)

danke,
aber mich interessiert wie man das im Castor macht


----------



## Wildcard (10. Apr 2007)

Ist doch analog. Die Methode erwartet einen Reader und du übergibst einen StringReader.


----------



## naeko (10. Apr 2007)

ok...danke
um dir jetzt noch mal auf den Wecker zu gehen   
beim Marshalling verwende ich wahrscheinlich den StringWriter

```
Marshaller.marshal(person, new StringWriter());
```
aber wie kann ich dann meinen alten StringBuffer durch den neu erzeugten ersetzen?


----------



## naeko (10. Apr 2007)

ok
hat sich erledigt


----------



## Wildcard (10. Apr 2007)

hehe, das wäre schon etwas seltsam  :wink:


----------

