使用 XPath 按类值过滤 HTML
Posted
技术标签:
【中文标题】使用 XPath 按类值过滤 HTML【英文标题】:Using XPath to filter HTML by class value 【发布时间】: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 我会得到很多,但按类过滤似乎不起作用:-(
知道我做错了什么吗?
感谢您的帮助, 米格尔
【问题讨论】:
How can I find an element by CSS class with XPath?的可能重复 【参考方案1】:我猜你正在尝试按类属性过滤?那么你需要在你的 xpath 中添加一个@
:
//div[@class='tableViewCell']
但是,我找不到具有此类的 div?
【讨论】:
非常感谢丹尼斯。我以为我确实尝试过这种方式……但是当我这样做时,我似乎做错了什么。现在它完美地工作了:-) 还有一个问题……如果类属性值为“tableViewCell someOtherClassValue”,我该怎么办?现在它只给我返回只有 tableViewCell 作为值的节点。 你可以使用 //div[contains(string(@class),"tableViewCell")] 谢谢丹尼斯...做到了:-)以上是关于使用 XPath 按类值过滤 HTML的主要内容,如果未能解决你的问题,请参考以下文章