Получение данных XML-файла с веб-сайта - PullRequest
1 голос
/ 20 ноября 2010

Просто интересно, что будет лучшим способом получить следующие данные и проанализировать их.

Вот пример некоторых данных, которые я хочу получить.

<?xml version="1.0" encoding="UTF-8" ?> 
<eveapi version="2">
    <currentTime>2010-11-19 19:23:44</currentTime> 
    <result>
        <rowset name="characters" key="characterID" columns="name,characterID,corporationName,corporationID">
            <row name="jennyhills" characterID="90052591" corporationName="Imperial Academy" corporationID="1000166" /> 
       </rowset>
    </result>
    <cachedUntil>2010-11-19 20:20:44</cachedUntil> 
</eveapi>

Я видел несколько примеров того, как анализировать XML данные, но все они основаны на операторах if, и это сложное кодирование. Существует ли более общий способ сделать это?

Ответы [ 2 ]

1 голос
/ 20 ноября 2010

Парсеры довольно жестко запрограммированы. Вы можете только проверить, соответствует ли определенный тег определенному шаблону, а затем решить, что делать. Особенно для таких простых документов, как ваш, это абсолютно не проблема.

Если у вас есть несколько типов документов для анализа, то я рекомендую прочитать этот SO ответ .

0 голосов
/ 20 ноября 2010

«Разбор», буквально понимая термин, очень прост.Синтаксический анализ - это процесс извлечения текстовой строки (в вашем случае из ответа http) и превращения ее в структуру данных, такую ​​как дерево документов XML.Этот процесс обрабатывается для вас синтаксическим анализатором XML, и вам, как правило, не нужно беспокоиться об этом.

Часть, с которой вы столкнулись, заключается в том, как запрашивать данные из проанализированного документа XML, верно?Самый простой способ во многом зависит от того, что вам нужно делать с данными.Но XPath - хороший способ выбора данных без большого количества подробных операторов if и вызовов функций get-child.

См. Также этот вопрос по использованию XPath в Android .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...