Извлечение XML в программе Android - PullRequest
0 голосов
/ 18 марта 2011

Я сейчас занимаюсь разработкой программы для Android. После некоторого поиска я не могу найти решение для получения или запроса с использованием XML в моей программе для Android.

Я все еще на начальных этапах программы. Я могу показать код XML, который я буду использовать. Это в основном запрос данных с использованием имени пользователя и пароля. Я хочу использовать эти данные, чтобы пользователь мог, например, в поле ввода текста / ввода использовать идентификатор MonitoringRef и получать данные через запрос XML и представлять их в приложении.

Запрос будет состоять из:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Siri version="1.0" xmlns="http://www.siri.org.uk/">
<ServiceRequest>
<RequestTimestamp>2007-01-11T10:38:12Z</RequestTimestamp>
<RequestorRef>CLIENT_APP_ID</RequestorRef>
<StopMonitoringRequest version="1.0">
<RequestTimestamp>2007-01-11T10:38:12Z</RequestTimestamp>
<MessageIdentifier>67890</MessageIdentifier>
<MonitoringRef>260057046</MonitoringRef>
</StopMonitoringRequest>
</ServiceRequest>
</Siri>

Ответ будет состоять из:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
10 - 11
Kizoom Traveline API at 03/09/2010
<Siri version="1.0" xmlns="http://www.siri.org.uk/">
<ServiceDelivery>
<ResponseTimestamp>2007-05-22T14:39:04+01:00</ResponseTimestamp>
<StopMonitoringDelivery version="1.0">
<ResponseTimestamp>2007-05-
22T14:39:04+01:00</ResponseTimestamp>
<RequestMessageRef>12345</RequestMessageRef>
<MonitoredStopVisit>
<RecordedAtTime>2007-05-22T14:39:03+01:00</RecordedAtTime>
<MonitoringRef>leiadadg</MonitoringRef>
<MonitoredVehicleJourney>
<FramedVehicleJourneyRef>
<DataFrameRef>-</DataFrameRef>
<DatedVehicleJourneyRef>-</DatedVehicleJourneyRef>
</FramedVehicleJourneyRef>
<VehicleMode>bus</VehicleMode>
<PublishedLineName>22</PublishedLineName>
<DirectionName>Norwich: Rail Station
Forecourt</DirectionName>
<MonitoredCall>
<AimedDepartureTime>2007-05-
22T14:53:00+01:00</AimedDepartureTime>
<ExpectedDepartureTime>2007-05-
22T14:55:00+01:00</ExpectedDepartureTime>
</MonitoredCall>
</MonitoredVehicleJourney>
</MonitoredStopVisit>
</StopMonitoringDelivery>
<StopMonitoringDelivery version="1.0">
<ResponseTimestamp>2007-05-
22T14:39:04+01:00</ResponseTimestamp>
<RequestMessageRef>67890</RequestMessageRef>
<MonitoredStopVisit>
<RecordedAtTime>2007-05-22T14:39:03+01:00</RecordedAtTime>
<MonitoringRef>260057046</MonitoringRef>
<MonitoredVehicleJourney>
<FramedVehicleJourneyRef>
<DataFrameRef>-</DataFrameRef>
<DatedVehicleJourneyRef>-</DatedVehicleJourneyRef>
</FramedVehicleJourneyRef>
<VehicleMode>bus</VehicleMode>
<PublishedLineName>3</PublishedLineName>
<DirectionName>Norwich: Ber Street John
Lewis</DirectionName>
<MonitoredCall>
<AimedDepartureTime>2007-05-
22T14:53:00+01:00</AimedDepartureTime>
<ExpectedDepartureTime>2007-05-
22T14:57:00+01:00</ExpectedDepartureTime>
</MonitoredCall>
</MonitoredVehicleJourney>
</MonitoredStopVisit>
<MonitoredStopVisit>
<RecordedAtTime>2007-05-22T14:39:03+01:00</RecordedAtTime>
<MonitoringRef>260057046</MonitoringRef>
<MonitoredVehicleJourney>
<FramedVehicleJourneyRef>
<DataFrameRef>-</DataFrameRef>
<DatedVehicleJourneyRef>-</DatedVehicleJourneyRef>
</FramedVehicleJourneyRef>
<VehicleMode>bus</VehicleMode>
<PublishedLineName>18</PublishedLineName>
<DirectionName>Old Catton: White Woman Lane/Proctor
Rd</DirectionName>
<MonitoredCall>
<AimedDepartureTime>2007-05-
22T14:57:00+01:00</AimedDepartureTime>
</MonitoredCall>
</MonitoredVehicleJourney>
</MonitoredStopVisit>
</StopMonitoringDelivery>
</ServiceDelivery>
</Siri>

Элемент в XML:

  • StopMonitoringDelivery - подарок для каждый StopMonitoringRequest в запрос
  • RequestMessageRef - соответствует Идентификатор сообщения в запросе
  • MonitoringRef - указывает, какая шина остановить этот StopMonitoringDelivery относится к
  • MonitoredStopVisit - представляет собой отправление на одном автобусе
  • ОпубликованоLineName - имя службы
  • DirectionName - пункт назначения
  • AimedDepartureTime - запланировано время отправления
  • ExpectedDepartureTime - оценивается время отправления

Мне просто интересно, может ли кто-нибудь предоставить мне ресурсы или решение для обеспечения этого в приложении.

1 Ответ

1 голос
/ 18 марта 2011

Вы можете взаимодействовать с удаленной службой по протоколу HTTP, используя DefaultHttpClient и HttpPost / HttpGet классы.

Для анализа XML-документа изстроковый ответ, который вы можете использовать DocumentBuilder.parse метод Он предоставит вам реализацию Объектная модель документа W3C для работы.

Также вам потребуетсяиспользуйте некоторые средства сериализации для подготовки строкового представления вашего XML-документа (для отправки в качестве ответа или другого).Решение зависит от минимальной версии SDK вашего приложения.С API уровня 8 вы можете использовать LSSerializer для этого.

...