2012-06-01 2 views
0

Я пытаюсь создать некоторые объекты XML-файла. Но я делаю что-то неправильно, это метод, где я поставил в файле XML:xStream не работает правильно со списком и атрибутами

XStream x = new XStream(); 
    XML v = (XML) x.fromXML("<maxi-xml><name>World League</name><type>15</type><season>33</season><date>2012-05-27T18:00:00+02:00</date><arenaId>2191</arenaId><nationId>4</nationId><regionId>85</regionId><standings>2</standings><attendance>20000</attendance><meteo>3</meteo><status>3</status><event id=8228607/><event id=8228608/><event id=8228609/><event id=8228610/><event id=8228611/><event id=8228612/><event id=8228613/><event id=8228614/><event id=8228615/><event id=8228616/></maxi-xml>"); 
    System.out.println("versie" + v.toString()); 

это файл XML:

<maxi-xml> 
<name>National League 2.1 Nederland</name> 
<type>15</type> 
<season>33</season> 
<date>2012-05-27T18:00:00+02:00</date> 
<arenaId>2191</arenaId> 
<nationId>4</nationId> 
<regionId>85</regionId> 
<standings>2</standings> 
<attendance>20000</attendance> 
<meteo>3</meteo> 
<status>3</status> 
<event id="8228607"/> 
<event id="8228608"/> 
<event id="8228609"/> 
<event id="8228610"/> 
<event id="8228611"/> 
<event id="8228612"/> 

И это есть классы, которые я использую : класс

Конкурс:

@XStreamAlias("maxi-xml") 
public class Competition { 

    String name; 
    int type; 
    int season; 
    Date date; 
    int arenaId; 
    int nationId; 
    int regionId; 
    int standings; 
    int attendance; 
    int meteo; 
    int status; 
    @XStreamImplicit 
    ArrayList<Event> event; 

    public Competition( String name, int type, int season, Date date, int arenaId, int nationId, int regionId, int standings, 
     int attendance, int meteo, int status, ArrayList<Event> event) { 
     this.name = name; 
     this.type = type; 
     this.season = season; 
     this.date = date; 
     this.arenaId = arenaId; 
     this.nationId = nationId; 
     this.regionId = regionId; 
     this.standings = standings; 
     this.attendance = attendance; 
     this.meteo = meteo; 
     this.status = status; 
     this.event = event; 
    } 

} 

класс события:

public class Event { 

    @XStreamAsAttribute 
    int id; 

    public Event(int id) { 
     this.id = id; 
    } 

} 

У кого-нибудь есть идеи, что я делаю неправильно?

Это то, что я получаю, когда я сделать обратный путь:

С помощью этой части кода:

XStream x = new XStream(); 
    ArrayList<Events> list = new ArrayList<Events>(); 
    list.add(new Events(16)); 
    list.add(new Events(1364)); 
    list.add(new Events(1365)); 
    list.add(new Events(1234)); 
    list.add(new Events(5679)); 

    XML xml = new XML("something", 1, 22, new Date(), 2, 2, 2, 2, 232434, 1, 3, list); 
    String s = x.toXML(xml); 
    System.out.println(s); 



<Competition> 
    <name>something</name> 
    <type>1</type> 
    <season>22</season> 
    <date>2012-06-01 09:18:27.161 UTC</date> 
    <arenaId>2</arenaId> 
    <nationId>2</nationId> 
    <regionId>2</regionId> 
    <standings>2</standings> 
    <attendance>232434</attendance> 
    <meteo>1</meteo> 
    <status>3</status> 
    <event> 
    <Event> 
     <id>16</id> 
    </Event> 
    <Event> 
     <id>1364</id> 
    </Event> 
    <Event> 
     <id>1365</id> 
    </Event> 
    <Event> 
     <id>1234</id> 
    </Event> 
    <Event> 
     <id>5679</id> 
    </Event> 
    </event> 
</Competition> 
+0

В чем проблема, с которой вы сталкиваетесь? – BOSS

+0

Посмотрите мой последний фрагмент кода в первом посте. Когда я делаю обратный путь xStream, я получаю это, так что это неправильно. Я думаю, что что-то не так с атрибутами .. – Gynnad

ответ

1

Проверьте ниже URL, если это помогает.

http://x-stream.github.io/alias-tutorial.html

+0

Да, это так, как я пытался, но это не работает .. для какой-то странной вещи. – Gynnad

+0

Если вы внимательно посмотрите на пример, как это делается также ведет себя. – BOSS

+0

Хм .. Я думал, что сделал то же самое, что и на этом веб-сайте, но может быть, я ошибаюсь .. Я посмотрю на него второй раз. Надеюсь, я смогу найти то, что я сделал неправильно/забыл .. – Gynnad

Смежные вопросы