Hallo ihrs,

ich hab hier ein XML-Dokument, dass unter anderem folgenden Schnippsel enthält:

Code :
1
2
3
4
5
<keywords>
    <keyword id="11" src="null">wort1</keyword>
    <keyword id="27" src="null">wort2</keyword>
    <keyword id="32" src="null">wort3</keyword>
</keywords>

Ich muss dafür eine Java-Klasse erstellen, die ich durch ein XStream füllen wollte.

Deshalb hab ich erstmal versucht mit XStream eine XML-Datei zu erzeugen, die der dort oben ähnlich sieht.
Dafür habe ich bisher folgendes probiert:

Code :
1
2
3
4
5
6
7
8
9
public class Keyword {
    String id = "";
    String src = "";
    String keyword;
 
    public Keyword(String s) {
        keyword = s;
    }
}

und
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import java.util.ArrayList;
 
import com.thoughtworks.xstream.XStream;
 
public class XStest {
 
    public static void main(String[] args) {
 
        XStream xstream = new XStream();
 
        xstream.alias("keyword", Keyword.class);
        xstream.useAttributeFor(Keyword.class, "id");
        xstream.useAttributeFor(Keyword.class, "src");
        
        Keyword k1 = new Keyword("Wort1"));
        
        System.out.println(xstream.toXML(k1));
    }
 
}

Das entstehende XML sieht dann so aus:
Code :
1
2
3
<keyword id="" src="">
  <keyword>wort1</keyword>
</keyword>

Das extra Tag innerhalb der ersten keyword-Tags würde ich jetzt gerne noch loswerden. Kennst sich da jemand aus, wie ich das hinbekomme? Oder ist der Ansatz mit der eigenen Keyword-Klasse hier schon ungünstig?