XStream - тег пакета печатается ниже тега XML

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

<ROOT_TAG>
 <sections>
  <com.tarun.local.xstream.test.Sections>
   <position>1</position>
   <rank>1</rank>
  <scores>
   <com.tarun.local.xstream.test.Scores>
    <number>100</number>
   </com.tarun.local.xstream.test.Scores>
  </scores>
 </com.tarun.local.xstream.test.Sections>
 </section>
</ROOT_TAG>

Как я могу удалить этот дополнительный ярлык пакета? Вывод должен быть таким:

<ROOT_TAG>
<sections>      
<position>1</position>
<rank>1</rank>
<scores>       
<number>100</number>       
</scores>     
</section>
</ROOT_TAG>

2 ответа

Я думаю, что вы хотите пропустить это поле, поэтому ответ будет:

XStream x = new XStream();
x.omitField(A.class, "com.tarun.local.xstream.test.Sections");
x.omitField(A.class, "com.tarun.local.xstream.test.Scores");

Вам необходимо применить псевдоним, через код или аннотации:

@XStreamAlias("section")
@XStreamImplicit(itemFieldName="part")
Другие вопросы по тегам