Я пытаюсь проанализировать XML-ответ, который выглядит так: SimpleXML. Это очень похоже на примере, показанном на обучающей странице простой XMLJava - Получение атрибута ElementList с помощью SimpleXML (Android/Retrofit)
http://simple.sourceforge.net/download/stream/doc/tutorial/tutorial.php#javabean
<response>
<version>1.0</version>
<code>1</code>
<message>Report generated</message>
<records total="365">
<record rowId="1" data1="1234" data2="abc" />
<record rowId="2" data1="5678" data2="def" />
<record rowId="3" data1="9012" data2="ghi" />
</records>
</response>
Единственное отличие у меня есть, это мой <records total="365">
тег имеет атрибут, мне нужно собрать, так что я могу определить, если есть несколько страниц результатов.
Я попытался использовать их примеру, в результате которого в этом
public class Response {
private ArrayList<Record> records;
@Element
public String message;
@Element
public String code;
@Element
public String version;
@ElementList
public void setRecords(ArrayList<Record> records) {
if(records.isEmpty()) {
throw new IllegalArgumentException("Empty collection");
}
this.records = records;
}
@ElementList
public ArrayList<Record> getRecords() {
return records;
}
public class Record {
@Attribute public String data1;
@Attribute public String data2;
}
}
Помимо отсутствует Общий атрибут в теге Отчетов, это работает правильно.
Все, что я пытаюсь сделать, чтобы получить этот общий тег, не работает.
Я пробовал всевозможные комбинации создания класса Records, который содержит атрибут и ArrayList вместо этого, имея его в основном объекте в качестве базового атрибута или пытающийся получить геттер/сеттер в основном объекте ответа без при удаче.
E.G.
public class Response {
@Element
public String message;
@Element
public String code;
@Element
public String version;
@Element
public Records records;
public class Records{
private ArrayList<Record> records;
@Attribute
public String total;
@ElementList
public void setRecords(ArrayList<Record> records) {
if(records.isEmpty()) {
throw new IllegalArgumentException("Empty collection");
}
this.records = records;
}
@ElementList
public ArrayList<Record> getRecords() {
return records;
}
}
public class Record {
@Attribute public String data1;
@Attribute public String data2;
}
}
Я не понимаю, как создать объект List и получить от него атрибут.
Любая помощь будет принята с благодарностью, я не уверен, как заставить ее работать, похоже, она должна быть такой простой, но я, очевидно, что-то пропустил.
Ой, забыл сделать это! Это не позволило мне отметить его, как только я отправил. Спасибо за напоминание – Ben987654