Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
5 / 5 / 1
Регистрация: 04.02.2016
Сообщений: 78

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

02.09.2016, 16:32. Показов 4756. Ответов 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.AttributeEx ception: 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.PersistenceExc eption: Element 'param' is already used with @org.simpleframework.xml.Element(data=fa lse, name=param, required=false, type=void) on field 'param' private java.lang.String com.example.pavel.lesson8.models.Offer.p aram 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 = "Кол-во")
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.09.2016, 16:32
Ответы с готовыми решениями:

Retrofit + simpleXml может у кого есть примеры?
Retrofit + simpleXml может у кого есть примеры рабочего кода? Что-то с JSON чего хочешь. А с XML почти ничего нету в инете.

Парсинг XML
Нужно роспарсить XML, который приходть с http://shop.podolyany.com.ua/api/rest/products/. Наверное делаю что-то не так. Вот код, где я хочу...

Парсинг XML
Пробую так String data = getIntent().getStringExtra(&quot;data&quot;); try { DocumentBuilderFactory factory =...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.09.2016, 16:32
Помогаю со студенческими работами здесь

Парсинг XML
try { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder =...

Парсинг XML
Решил освоить Android написал первое приложение(программка расшифровывает статус контролера банкомата из БД ошибок в формате SQLite и...

Парсинг большого xml
Если есть большой JSON его можно парсить при помощи библиотеки gson, а если есть большой xml как этот https://lenta.ru/rss. Чем его лучше...

XML Парсинг (yml)
Вопрос таков. Чем распарсить yml страницу http://ufa.farfor.ru/getyml/?key=ukAXxeJYZN Парсил XML с другого сайта, но таким образом не...

Парсинг xml-файла
Пытаюсь получить информацию из xml файла, но всегда получаю ошибку. Как это можно исправить? /res/xml/support.xml &lt;?xml...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru