我正在尝试解析Atom提要。我通过以下类别使用此方法扩展了NSXMLNode
:
- (NSString *)stringValueForNodeAtXPath:(NSString *)XPath error:(NSError **)error {
NSArray *nodes = [self nodesForXPath:XPath error:error];
if ([nodes count] == 0) { return nil; }
return [[nodes lastObject] stringValue];
}
当只需要一个节点时,此方法返回节点的字符串值。
Atom Feed的条目如下所示:
<entry>
<title>A title</title>
<id>Unique id</id>
</entry>
我有一个NSXMLElement
对象,如上所述。但是,在尝试获取title
的{{1}}或id
时,entry
会返回一个空数组(因此我的扩展程序返回-[NSXMLNode nodesForXPath:error:]
):
nil
可能是什么问题?我的XPath查询错了吗? _uniqueId = [[XMLElement stringValueForNodeAtXPath:@"/entry/id" error:error] copy];
中显然有id
,entry
是根元素。
是的,entry
- ing NSLog
确认我的最后一句话。