理解Apple示例代码中的xml解析

时间:2011-12-09 23:48:54

标签: ios xml parsing

我正在研究Apple的LazyTableImages示例代码。我想了解应用程序如何从应用程序中包含的RSS提要中提取数据:     http://phobos.apple.com/WebObjects/MZStoreServices.woa/ws/RSS/toppaidapplications/limit=75/xml

如何解析上述网址的内容?查看网页来源会显示没有明显xml部分的HTML。在查看示例解析代码时,我发现了一些符号,如im:name。但是,这些符号不在上述网址的内容中。

我尝试在本地托管上述网址的内容(w / limit = 1)。但是,将示例代码指向@"~/Desktop/a.xml"会导致应用程序抛出错误unsupported url

更多信息:在阅读http://en.wikipedia.org/wiki/Rss时,我发现了我希望在上面的phobos链接中看到的内容。像这样:

<?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>

是否有与上述phobos链接对应的等效“人类可读”xml文档?

1 个答案:

答案 0 :(得分:1)

你是对的,你在技术上看的饲料不是RSS Feed。这是一个Atom 1.0 Feed,但它们都是流行的基于XML的Feed格式。

如果您查看Feed的来源,您将看到您正在寻找的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这样的命令在终端中下载Feed:

curl -o feed.xml http://phobos.apple.com/WebObjects/MZStoreServices.woa/ws/RSS/toppaidapplications/limit=75/xml