2014-02-01 2 views
0

У меня есть приложение для Android, и я хотел бы получить определенное значение из набора результатов xml, который я получаю от запроса к api. Я буду делать несколько запросов, и это единственный запрос, который возвращает xml.Лучший способ получить одно значение из запроса, возвращающего xml?

Вот результат XML:

https://mcxnow.com/orders?cur=WDC

Как бы я получить значение «Doc> История> О [0]> р» в виде строки как можно более эффективно в Java для Android?

Я посмотрел на XML-парсер Sax, но это похоже на излишний. Есть ли что-нибудь действительно легкое, которое я должен использовать? Что я должен использовать, и как мне получить только 1 значение?

ответ

1

Я просмотрел XML-парсер Sax, но это похоже на излишний. Есть ли что-нибудь действительно легкое, которое я должен использовать? Что я должен использовать, и как мне получить только 1 значение?

Я собирался рекомендовать использовать SAX-парсер!


Проблема в том, что единственное, что значительно более «легкое» в плане производительности, - это сопоставление с образцом; т. е. в основном игнорируя грамматику/синтаксис XML и используя регулярные выражения или эквивалентные для поиска данных, которые вы хотите.

Проблемы с использованием шаблона вместо правильного XML разбора является то, что ваш код обязан быть хрупкими:

  • Это Хрупкое в непредсказуемом/незаметном способе, если неявные изменения XML-схеме.

  • Возможно подвергнуть непредсказуемому/неопределяемому способу изменения в форме форматирования XML; например несущественное белое пространство, атрибуты в неожиданном порядке и т. д.

  • Он может быть непредсказуемым/необнаружимым, если значения закодированы законными, но неожиданными способами.

И если вы создаете свои регулярные выражения, чтобы справиться с этими вещами, они становятся более сложными и паттерн соответствует производительности.

+0

Я закончил использовать SAX, поэтому я собираюсь отметить это как принятый ответ. знак равно – BeeTee2

Смежные вопросы