创建一个填充HTML代码的数组

时间:2012-02-02 00:21:32

标签: objective-c ios arrays cocoa-touch xhtml

我正在尝试创建一个UITableView,其中列出了我所在学校的每位教师,并作为每个教师网页的链接。

我已从网页上删除了HTML代码,但没有教师和网页网址列表。

为确保隐私,我向您展示的列表代码并不真实,名称和网站地址已更改。这是一个例子,但相当于我想要做的事情。

列表代码是:

<div class="field-element"> <select name="" class="form-select launcher" id="" ><option value="0">-Select-</option><option value="/subsite/teacher/714">LastName, Firstname</option><option value="/subsite/teacher/286">LastName2, FirstName2</option><option value="/subsite/teacher/734">LastName3, FirstName3</option><option value="/subsite/teacher/513">LastName4, FirstName4</option></select>

/subsite/teacher/...代码作为教师页面链接附加到网址www.website.com(生成www.website.com/subsite/teacher/...以及HTML中该网址代码后教师的实际名称。为每位老师重复。

如何从该HTML代码创建每位教师的数组以及UITableView的相应链接? UITableView将以LastName,FirstName格式显示教师姓名,单击该单元格后,UIWebView将打开相应的网页。

非常感谢一些示例代码。

注意:了解教师数量可能会有所波动,因此每次都假设教师人数相同,名称相同是不安全的。

感谢。

2 个答案:

答案 0 :(得分:1)

代码的大致轮廓可以这样:

  • 从网站获取数据。
  • 解析数据以获取每个网站。为此,我认为最简单的方法是使用NSString类,可能使用componentSeparatedByString:
  • UITableView生成一系列模型或数据源并填充它。考虑一下您的模型的开发,您不仅应该包括教师的名称,还应该包括该网站作为该对象的属性。
  • 通过推送在教师网站对应的网站上初始化的didSelectRowAtIndexPath:,实施UIWebView方法以响应每个单元格。

希望这会对你有帮助。

答案 1 :(得分:1)

NSString *str=[your HTML];
int loc1=[str rangeOfString:@"value=" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [str length])].location;
int loc2= [str rangeOfString:@">" options:NSCaseInsensitiveSearch range:NSMakeRange(loc1, [str length])].location;
NSString *teacherSite=[str substringWithRange:NSMakeRange(loc1, loc2)];

这将为您提供教师网站链接,其余部分也一样。