Понимание разбора XML в примере кода Apple - PullRequest
0 голосов
/ 10 декабря 2011

Я изучаю пример кода LazyTableImages от Apple.Я хотел бы понять, как приложение извлекает данные из RSS-канала, включенного в приложение: http://phobos.apple.com/WebObjects/MZStoreServices.woa/ws/RSS/toppaidapplications/limit=75/xml

Как анализируется содержимое по вышеуказанному URL-адресу? Просмотр источника страницыпоказывает HTML без видимого раздела XML.Просматривая образец кода синтаксического анализа, я нашел несколько символов, таких как im:name.Однако эти символы отсутствуют в содержимом указанного выше URL.

Я попытался разместить содержимое указанного выше URL-адреса локально (w / limit = 1).Однако указание примера кода на @"~/Desktop/a.xml" заставляет приложение выдавать ошибку unsupported url.

Дополнительная информация : читая http://en.wikipedia.org/wiki/Rss, я столкнулся с тем, что ожидалсм. на Фобосе ссылку выше.Примерно так:

<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
        <title>RSS Title</title>
        <description>This is an example of an RSS feed</description>
        <link>http://www.someexamplerssdomain.com/main.html</link>
        <pubDate>Mon, 06 Sep 2009 16:45:00 +0000 </pubDate>

        <item>
                <title>Example entry</title>
                <description>an interesting description</description>
                <link>http://www.wikipedia.org/</link>
                <guid>unique string per item</guid>
                <pubDate>Mon, 06 Sep 2009 16:45:00 +0000 </pubDate>
        </item>

</channel>
</rss>

Существует ли эквивалентный "читаемый человеком" XML-документ, соответствующий указанной выше ссылке Фобос где-нибудь?

1 Ответ

1 голос
/ 10 декабря 2011

Вы правы, технически рассматриваемый вами канал не является RSS-каналом.Это фид Atom 1.0 , но оба они являются популярными форматами фидов на основе XML.

Если вы посмотрите источник фида, вы увидите искомые элементы XML, например:

<entry>
  <updated>2011-12-09T16:15:32-07:00</updated>
  <id>http://itunes.apple.com/us/app/tetris/id479943969?mt=8&amp;uo=2</id>
  <title>TETRIS® - Electronic Arts</title>
  <summary>Long summary here</summary>
  <im:name>TETRIS®</im:name>
  ...
</entry>

Некоторые версии браузера анализируют каналы RSS / Atom на удобные для пользователя страницы HTML и представляют их вместо фактического канала. Похоже, это тип просматриваемой страницы HTML.

В OS X вы можете использовать команду типа Curl для загрузки канала в Терминале:

curl -o feed.xml http://phobos.apple.com/WebObjects/MZStoreServices.woa/ws/RSS/toppaidapplications/limit=75/xml
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...