Форум программистов, компьютерный форум CyberForum.ru

Сложный парсинг XML через Retrofit SimpleXml-Converter Simple XML - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Виджет детальной информации в андроид http://www.cyberforum.ru/android-dev/thread1801849.html
Вот например у меня есть список городов во фрагменте(в списке пункт - город). И я хочу следующее чтобы по нажатии на этот пункт разворачивалась детальная информация о нем(ну детальное описание города). Как это лучше всего сделать(желательно не создавать отдельное окно для детального описания, а отобразить все рядом с самим пунктом, в этом же окне)? Я просто видел часто в приложениях есть такая...
Android Работа с тенями Кто нибудь встречал толковый мануал по теням для Андроид 5.0+? а то в этом "описании" - https://developer.android.com/training/material/shadows-clipping.html толком ничего нет. Ну тени ну да есть они, а как и где они рисуются где не рисуются и как их обрезать - толком ничего http://www.cyberforum.ru/android-dev/thread1801776.html
SharedPreferences сохранить на флешку Android
Гуру, САБЖ! Есть ли СТАНДАРТНОЕ решение для подобного? Хочу сохранять настройки в папку на внешнюю "флешку" (ExternalStorage). Использовать для мелкой утилиты базу не охота. Как и писать сложный класс для надежной перезаписи XML... Да и стандартные активити для работы с Preferences терять не охота... Может находили подобное? (слегка раздражает что при удалении программы теряются все...
Множество условий selection в query Android
Всем привет. Подскажите, пожалуйста, как задать selection для query так: Столбец1 = ? и Столбец2 = ? и (Стоблец3 = ? или Стоблец4 = ?)
Android Где хранятся View элементы http://www.cyberforum.ru/android-dev/thread1801640.html
Я знаю что объекты активити хранятся в стеке активити в UI потоке. Фрагменты в стеке фрагментов в FragmentManagerе так? а где тогда хранятся объекты View элементов(такие как Button, TextView и прочие)?? В стеке Ui потока или в стеке активити? Где? Добавлено через 1 минуту Или просто в произвольном месте оперативной памяти(RAM) устройтва? просто интересно. Где то же хранится информация о них...
Android Android Studio таймер, картинка, как? Добрый день. 1) Как сделать так что бы TextView менялся каждую секунду? 2) Как сделать так что бы ImageView по клику увеличивался в 1.5 раза? подробнее

Показать сообщение отдельно
PhantomR
5 / 5 / 0
Регистрация: 04.02.2016
Сообщений: 74

Сложный парсинг XML через Retrofit SimpleXml-Converter Simple XML - Android

02.09.2016, 16:32. Просмотров 328. Ответов 0
Метки (Все метки)

Разбираюсь потиху, есть 2 вопроса.
1. Нужно ли всегда using Retrofit SimpleXml-Converter Simple XML парсить все элементы?
2. Есть страница http://ufa.farfor.ru/getyml/?key=ukAXxeJYZN. Как мне забрать только текст "340.00 гр" из


XML
1
<param name="Вес">340.00 гр</param>
При попытке парсинга пишет следующую ошибку:
09-02 14:37:13.554 11598-11598/com.example.pavel.lesson8 D/TAG: onFailure: java.lang.RuntimeException: org.simpleframework.xml.core.AttributeException: Attribute 'id' does not have a match in class com.example.pavel.lesson8.models.Offer at line 23

Java
1
2
3
4
5
6
7
8
9
10
@Root(name = "yml_catalog", strict = false)
public class OffersResponse {
    @Path("shop/offers")
    @ElementList(entry = "offer",inline = true)
    private static ArrayList<Offer> offerList;
 
    public ArrayList<Offer> getOfferList() {
        return offerList;
    }
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@Root(name = "offer")
public class Offer {
    @Element(required = false, name = "url")
    private String url;
    @Element(required = false, name = "name")
    private String name;
    @Element(required = false, name = "price")
    private String price;
    @Element(required = false, name = "description")
    private String description;
    @Element(required = false, name = "picture")
    private String picture;
    @Element(required = false, name = "categoryId")
    private String categoryId;
    @Element(required = false, name = "param")
    private String param;
}
Добавлено через 17 минут
Итак я не игнорировал текст после <offer .... >

Решение:
Java
1
@Root(name = "offer", strict = false)
Вопрос про Вес остаётся:

.simpleframework.xml.core.PersistenceException: Element 'param' is already used with @org.simpleframework.xml.Element(data=false, name=param, required=false, type=void) on field 'param' private java.lang.String com.example.pavel.lesson8.models.Offer.param at line 39

Добавлено через 1 час 33 минуты
вопрос решился созданием листа параметров:

Java
1
2
 @ElementList(required = false, inline = true)
    private ArrayList<Param> paramList;
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@Root(name = "param", strict = false)
public class Param {
    @Attribute(required = false, name = "name")
    public String weight;
    @Text(required = false)
    private String weight_text;
    @Attribute(required = false, name = "Диаметр")
    public String diameter;
    @Attribute(required = false, name = "Каллорийность")
    public String calories;
    @Attribute(required = false, name = "Белки")
    public String protein;
    @Attribute(required = false, name = "Жиры")
    public String fat;
    @Attribute(required = false, name = "Углеводы")
    public String carbohydrate;
    @Attribute(required = false, name = "Кол-во")
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru