- [NSXMLNode nodesForXPath:error:]返回空数组,但不应返回空数组

时间:2011-10-08 12:08:49

标签: objective-c xml cocoa xpath nsxmlelement

我正在尝试解析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]; 中显然有identry是根元素。


是的,entry - ing NSLog确认我的最后一句话。

0 个答案:

没有答案