【问题标题】:Using XPath to filter HTML by class value使用 XPath 按类值过滤 HTML
【发布时间】:2011-04-25 06:52:34
【问题描述】:

我正在获取一个 HTML 页面并尝试获取其中的一些内容以在表格视图中显示它。按照文档我尝试了 NSXMLDocument 和 NSXmlParser 但无法让它们中的任何一个给我正确的数据:-(

我要删除的页面是http://www.instapaper.com/u

我使用的代码是

NSXMLDocument * doc = [[NSXMLDocument alloc]
                        initWithXMLString: data
                        options: NSXMLDocumentTidyHTML
                        error: &error];
NSArray* rows = [doc nodesForXPath:@"//div[class='tableViewCell']" error:&error];

使用 class=tableViewCell 获取 DIV。

如果我只搜索 //div 我会得到很多,但按类过滤似乎不起作用:-(

知道我做错了什么吗?

感谢您的帮助, 米格尔

【问题讨论】:

标签: html objective-c xpath


【解决方案1】:

我猜你正在尝试按类属性过滤?那么你需要在你的 xpath 中添加一个@

//div[@class='tableViewCell']

但是,我找不到具有此类的 div?

【讨论】:

  • 非常感谢丹尼斯。我以为我确实尝试过这种方式……但是当我这样做时,我似乎做错了什么。现在它完美地工作了:-)
  • 还有一个问题……如果类属性值为“tableViewCell someOtherClassValue”,我该怎么办?现在它只给我返回只有 tableViewCell 作为值的节点。
  • 你可以使用 //div[contains(string(@class),"tableViewCell")]
  • 谢谢丹尼斯...做到了:-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-05
  • 2019-02-24
相关资源
最近更新 更多