Мой Iphone связывается с моим веб-сервисом SOAP.
У меня есть вопросник в моем XML, который включает вопросы, их ответы и выбор некоторой информации о пользовательском интерфейсе. И т. Д.Поэтому, когда пользователь вводит значение для набора вопросов с помощью IPhone и снова отправляет их обратно в веб-службу, служба добавляет новые неотвеченные вопросы к этому XML.
Таким образом, разговор с веб-службой начинается с пустого XML и создает до 200-300 КБ XML, когда пользователь отвечает на вопросы и получает новые.Поскольку это веб-служба без сохранения состояния, вся информация будет храниться в XML.
Практически, мне нужно только найти и проанализировать последние вопросы из XML-ответа, что должно быть хорошо для парсера SAX, и изменить только эту часть XML, добавив новый ответ и отправив обратно черезВеб-сервис модифицированный XML.НО пользователь также должен иметь возможность нажать «Назад».Так что это означает, что я должен держать этот XML в памяти (200-300 КБ) и анализировать при необходимости, когда пользователь нажимает назад и далее.
У меня вопрос, какой подход лучше:
1-Получите XML, полностью разберите его на объекты с помощью DOM, освободите XML из памяти и работайте только с объектами, когда пользователь нажимает назад и далее.Затем, когда дело доходит до отправки, соберите новое XML-сообщение с нуля с моими объектами.Также этот подход, по-видимому, сокращает время нажатия
2 - Используйте анализатор SAX и анализируйте только тогда, когда мне нужно, когда пользователь нажимает назад и далее.Но тогда я должен держать весь XML в памяти.Я не знаю, сможет ли Iphone справиться с этим, и последующие действия должны занять больше времени, так как я каждый раз разбираю.Но хорошая сторона в том, что мне не нужно заново собирать XML из объектов, когда я закончу.
Я думаю, что второй подход лучше, как вы думаете?А какой парсер хорош для этой работы?