发布
社区首页 >问答首页 >解析与iPhone应用程序一起使用的HTML内容

解析与iPhone应用程序一起使用的HTML内容
EN

Stack Overflow用户
提问于 2011-11-04 18:43:09
回答 5查看 640关注 0票数 3

我甚至不知道这个问题的标题是否合适,因为我真的迷失了方向,需要一些建议,这是我需要完成的一个起点。

我的iPhone应用程序播放来自互联网的音频,我的定制播放器。一些链接是来自Akamai的实时流,还有一些是存储在网站上的音频文件。我对实时流没有意见,但我的问题是音频文件

由于我有许多存储的音频文件,用户可以选择使用不同的语言,而且我不想在我的application.Then上硬编码所有这些文件,我需要一个聪明的方法让用户在应用程序上浏览(将信息从互联网上推送),直到他到达想要播放的文件。

该网站的组织方式如下:

首先是列表,有所有可用的程序。用户选择所需的程序,然后出现另一个页面,他必须选择一周中的一天来播放。

我的问题是:我如何分析这些内容,并从中选择程序和一周中的几天?我应该研究HTML解析吗?有没有更好/更简单的方法,比如在网站上创建XML文件?

如果这有帮助,那么所有的网页都以.aspx扩展结束。

请,任何建议,从一个更有经验的程序员将极大地帮助我。谢谢!

EN

回答 5

Stack Overflow用户

发布于 2011-11-12 06:58:43

我不认为解析HTML是最好的实现。选择一个结构化的源,它没有可查看的标记来担心解析出来或完全忽略(也意味着解析标记时抛出的资源会减少,因为您只需要解析重要的内容)。

我建议使用可以转换为NSDictionary或其他数据结构以供应用程序使用的XML或JSON源。下面是一个整洁的小类,它将XML源转换为NSDictionary:http://troybrant.net/blog/2010/09/simple-xml-to-nsdictionary-converter/

TBXML是另一个目标-c的轻量级XML解析器,它使自定义数据对象的实现取决于您:http://www.tbxml.co.uk/

如果您更愿意使用JSON,那么就会有很多帮手。一个开始寻找的好地方就在这里:http://cocoaobjects.com/?s=json

如果我正确地理解了您的问题,无论您选择哪种来源,您都可能希望得到一个类似于以下内容的字典对象:

代码语言:javascript
代码运行次数:0
复制
programs = (
  {
    program_name: "Foo";
    tracks = (
      { day: Monday;
        track: audio_file1.mp3;
      },
      { day: Tuesday;
        track: audio_file2.mp3;
      },
      { day: Wednesday;
        track: audio_file3.mp3;
      }
    );
  },
  {
    program_name: "Bar";
    tracks = (
      { day: Monday;
        track: audio_file4.mp3;
      },
      { day: Tuesday;
        track: audio_file5.mp3;
      },
      { day: Wednesday;
        track: audio_file6.mp3;
      }
    );
  },
  {
    program_name: "Baz";
    tracks = (
      { day: Monday;
        track: audio_file7.mp3;
      },
      { day: Tuesday;
        track: audio_file8.mp3;
      },
      { day: Wednesday;
        track: audio_file9.mp3;
      }
    );
  };
);

一旦您计算出数据源,并将其转换为在object中使用的本地数据对象,您应该能够继续编写一个UI,该UI可以在字典中进行迭代,提供一个程序列表,并依次列出每个程序的天数列表,以及要选择播放的音频文件。

票数 2
EN

Stack Overflow用户

发布于 2011-11-13 06:30:46

我也有类似的需求。使用来自ASP.NET站点的数据。最后,我从.NET端使用了JSON并返回JSON。然后,我使用Google中的json-框架将返回的JSON转换为NSDictionary。从那以后,剩下的就是历史了。

如果您正在使用JSON,那么返回.NET结果在控制器中是非常简单的。由于您有aspx扩展,所以我认为情况并非如此。在C#主页底部列出了大量用于json.org的JSON解析器。

票数 2
EN

Stack Overflow用户

发布于 2011-11-09 23:04:50

如果网站内容是静态的,我会硬编码文件名和适当的URL到您的服务器在应用程序中,让用户滚动通过列表的可用项目。

如果网站内容发生变化,那么我将在服务器上创建一个XML文件,您的应用程序在启动时下载(或您认为合适的话)并在应用程序中进行解析,然后按照静态内容继续。

希望这能让你朝正确的方向发展。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8014263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档