Есть XML строка такого типа:
<Tabelle name="WWS_ARTIKEL">
<FeldBeschreibung>
<Feld type="String(12)">ARTIKELNR</Feld>
<Feld type="String(6)">ARTIKELGRP</Feld>
</FeldBeschreibung>
<Datensaetze>
<Datensatz>
<Feld name="ARTIKELNR">1000</Feld>
<Feld name="ARTIKELGRP">1</Feld>
</Datensatz>
<Datensatz>
<Feld name="ARTIKELNR">2000</Feld>
<Feld name="ARTIKELGRP">2</Feld>
</Datensatz>
</Datensaetze>
</Tabelle>
</StammDaten>
Вопрос: как правильно ее десериализовать в java object?
Создал классы Stammdaten, Tabelle, Datensatz, Feld. Stammdaten я делаю
@JacksonXmlRootElement(localName = "StammDaten")
затем
@JacksonXmlElementWrapper(localName = "Datensaetze")
@JacksonXmlProperty(localName = "Datensatz")
private List<Datensatz> datensaetze;
и так далее иду вниз по иерархическому дереву
Отвечаю сам, может кому пригодится.
Моя ошибка была в том, что в самом начале XML есть заглавный тэг <lcs:LandwehrStammDaten ...>
. Это и есть в иерархическом дереве самый высокий его член.
Создается класс LandwehrStammDaten
как и все остальные, стоящие ниже по иерархии: StammDaten, Tabelle, Datensatz, Feld
@JsonIgnoreProperties(ignoreUnknown = true)
@JacksonXmlRootElement(localName = "LandwehrStammDaten")
public class LandwehrStammDaten implements Serializable {
@JacksonXmlProperty(localName = "StammDaten")
private StammDaten stammdaten;
//getters and setters
}
//класс Tabelle по аналогии
@JsonIgnoreProperties(ignoreUnknown = true)
public class StammDaten implements Serializable {
@JacksonXmlProperty(localName = "Tabelle")
private Tabelle tabelle;
//getters adn setters
}
@JsonIgnoreProperties(ignoreUnknown = true)
public class Datensatz implements Serializable{
@JacksonXmlElementWrapper(localName = "Datensatz")
@JacksonXmlProperty(localName = "Feld")
private List<Feld> Feld;
//getters and setters
}
@JsonIgnoreProperties(ignoreUnknown = true)
public class Feld implements Serializable{
private static List<Feld> instances = new ArrayList();
public Feld() {
instances.add(this);
}
public static List<Feld> getList(){
return instances;
}
@JacksonXmlProperty(isAttribute = true)
private String name;
@JacksonXmlText(value = true)
private String value;
//getters and setters
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Во многих источниках говорится, что код из стороннего потока не может изменять экран приложения(UI) и для этого нужно использовать Handler, runOnUiThread()...
Только начал изучать андроид, хочу написать библиотеку для получения всех view на активностиНе могу нащупать точку входа
Есть события (events) на которые я подписываюсь (данные события делают запрос на сторонний сервис и получают информацию)После получения информации,...
Ajax запросы отрабатывают верно: получение статуса команды, удаление команды, постановка в очередьНе могу решить проблему, при клике осуществляет...