我需要从html字符串中获取图像及其标题。我听说,javascript可能会通过标签或ID获取元素,但我之前从未使用过javascript。所以我找到了一个不错的框架 - JavaScriptCore
,这是我的代码段:
JSContext* context = [[JSContext alloc] initWithVirtualMachine:[JSVirtualMachine new]];
NSString* jsString = [NSString stringWithFormat:@"var parser = new DOMParser();"
"var doc = parser.parseFromString(%@, \"text/html\");"
"var imgs = document.getElementsByTagName('img');", [htmlString stringByReplacingOccurrencesOfString:@"\n" withString:@""]];
[context evaluateScript:jsString];
但context[@"parser"]
,context[@"doc"]
和context[@"imgs"]
返回undefined
。我做错了什么?也许我会更好地使用其他方法而不使用JavaScriptCore
?
答案 0 :(得分:1)
您可以使用一些支持XPath查询的第三方库。恕我直言,这将是一个更好的DOM工作方式。
以下是与示例http://www.raywenderlich.com/14172/how-to-parse-html-on-ios
的链接