繁体   English   中英

在Objective-C中使用XPath解析HTML

[英]Parsing HTML with XPath in Objective-C

大家好,我正在尝试通过Objective-C中的http://lib.harvard.edu/libraries/hours.html中的XPath解析HTML,以获取一个应用程序,该应用程序显示每个工作日的每周工作时间网站上列出了50个图书馆。 我在cocoawithlove.com/2008/10/using-libxml2-for-parsing-and-xpath.html上找到了促进Objective-C中HTML的XPath解析的代码,但是我对应该如何处理仍感到困惑获取每个图书馆每天的工作时间。 使用的相关方法似乎是

NSArray *PerformHTMLXPathQuery(NSData *document, NSString *query)

到目前为止,我的代码是

NSURL *urlPath = [NSURL URLWithString:@"http://lib.harvard.edu/libraries/hours.html"];
NSArray *array = PerformHTMLXPathQuery([NSData dataWithContentsOfURL:urlPath], NSString *query);

但是,由于我以前从未使用过XPath,因此不确定在该方法的第二个参数中应使用哪个字符串。 有人有什么想法吗?

另外,我不太确定该如何处理PerformHTMLXPathQuery()返回的数组。 我觉得cocoawithlove.com/2008/10/using-libxml2-for-parsing-and-xpath.html提供了一个很好的解释,只是我以前从未使用过XPath,所以对我来说没有太大意义这一点。 因此,总而言之,只要到目前为止我的代码是正确的,我想知道在PerformHTMLXPathQuery()方法中第二个参数使用什么以及如何从它返回的数组中提取相关数据。 任何帮助将非常感激!

XPath是用于浏览XML文档的语言。 query参数是一个XPath查询字符串,您希望该字符串能够从HTML文件中提取所需的元素。 我说“希望”是因为

  1. 我不知道XPath在HTML 4文档中的表现如何
  2. 我看过要解析的页面的来源,它非常复杂。

无论如何,撇开这些要点,您将要学习如何创建XPath表达式。 幸运的是,Google是您的朋友,并且在其中输入“ XPath”会打开XPath上的W3Schools教程 我只是略读了一下,但是看起来像您所需要的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM