在 Objective C 中解析 Open Graph 元 properties/tags

Parsing Open Graph meta properties/tags in ObjectiveC

我在 objectiveC 中有一个 iOS 应用程序,它使用 UIWebView 加载网页。我想解析该网页的 Open Graph 元标记 -

<meta property="og:locale" content="en_US" />
<meta property="og:title" content="My Title" />
<meta property="og:site_name" content="My Content" />

使用以下代码我可以遍历所有元标记并获取它们的内容,但是如何检查我感兴趣的元属性?

NSString *resultStr = [self.viewWeb stringByEvaluatingJavaScriptFromString:
                      @"(function(){"
                       "var i, metaFields = document.getElementsByTagName(\"meta\"), result = [];"
                       "for (i = 0; i< metaFields.length; i++) {"
                                "result.push({\"content\": metaFields[i].content});"
                       "}"
                       "return JSON.stringify(result);"
                       "})();"
                       ];
NSArray *result = [NSJSONSerialization JSONObjectWithData:[resultStr dataUsingEncoding:NSUTF8StringEncoding] options:0 error:nil];
NSLog(@"result: %@", result);

例如,如果我只对 "og:site_name" 感兴趣,我该如何检查它?我试过 "metaFields[i].property" 但似乎无法通过这种方式访问​​属性。我想做类似的事情 -

"if (metaFields[i].property === \"og:site_name\")"

谢谢,

您是否尝试过在元素上使用 getAttribute DOM 方法?类似于:

metaFields[i].getAttribute('property')