# Rückgabewert für XML-Abschnitt



## ratnalein (24. Jan 2014)

Hallo zusammen,

ich soll eine Methode schreiben, deren Rückgabe ein Teil von einem XML-Dokument dienen soll.  Beispiel:


```
<Haus>
   <Dach>Kraftbolze</Dach>
   <Fenster>Gira</Fenster>
</Haus>
```

Meine Methode soll folgendes ausgeben:

```
<Boden>
   <Typ>Stein</Typ>
   <Heizung>Ja</Heizung>
</Boden>
```

so dass am Ende das gesamte XML-Dokument folgendes ergibt:


```
<Haus>
   <Dach>Kraftbolze</Dach>
   <Fenster>Gira</Fenster>
   <Boden>
        <Typ>Stein</Typ>
        <Heizung>Ja</Heizung>
   </Boden>
</Haus>
```

Mir geht es lediglich darum, was für einen Rückgabewert ich für meine Methode angeben soll.  Es geht nicht um das "Anbringen"  des Boden-Tags in das Haupt-XML.

Meine Frage:
Da wir ja wissen, wofür das Methodenergebnis später genutzt wird, haben wir zu entscheiden, welchen Rückgabetyp die Methode zu returnieren hat.  Geht denn String als Rückgabewert ohne weiteres für den Zweck?

```
public String gebeTeil-XMLaus(){...}
```

Ich habe versucht zu googeln, ob eine Art "generic-XML" als Java-Datentyp existiert, ist aber scheinbar nicht der Fall.  

Insbesondere, wie kann ich mit Hilfe der Methode myMarshaller.marshal den XML-Abschnitt als Text ausgeben?

Och je, ich hoffe, die Formulierung der Problematik ist zu verstehen.

Vielen Dank und viele Grüße aus Rheinland,

Eure Ratna


----------



## knilch (24. Jan 2014)

Hi,
Zu deiner Frage:


> Meine Frage:
> Da wir ja wissen, wofür das Methodenergebnis später genutzt wird, haben wir zu entscheiden, welchen Rückgabetyp die Methode zu returnieren hat. Geht denn String als Rückgabewert ohne weiteres für den Zweck?


Ein String als Return-Value ist in diesem Fall ok.

```
public class xmlTest {
	public static void main(String[] args) {
			xmlTest t = new xmlTest();
			String str = "<Haus>\n   <Dach>Kraftbolze</Dach>\n   <Fenster>Gira</Fenster>\n";
			str += t.getXmlString();
			str += "\n</Haus>";
			System.out.println(str);;
	}

	public String getXmlString(){
		return ("   <Boden>\n      <Typ>Stein</Typ>\n      <Heizung>Ja</Heizung>\n   </Boden>");
	}
}
```



> Insbesondere, wie kann ich mit Hilfe der Methode myMarshaller.marshal den XML-Abschnitt als Text ausgeben?


verwendest du JAXB zum verarbeiten vom xml?

Wenn ja, ich würde dir raten erst mal mit SAX und DOM Trail: Java API for XML Processing (JAXP) (The Java™ Tutorials) anschauen.. 
JAXB ist für den Anfang ein wenig to much... (ist meine Meinung...)


----------



## ratnalein (13. Feb 2014)

Hallo Knilch,

suuuper, vielen lieben Dank, hat super funktioniert.  Ja, ich habe dazu JAXB verwendet.  

Viele Grüße aus Rheinland,

Eure Ratna


----------

