我正在尝试使用XPath选择节点... 我使用以下代码是我的iOS应用程序收集有关我拥有的书籍类型的一些信息,无论它们是平装还是精装:使用XPath选择节点
nodes= [rootNode nodesForXpath:@"Collection/books" error:nil];
for (DDXMLNode* node in nodes)
{
Booktype* bt = [[Booktype alloc] init];
DDXMLNode *nameNode = [[node nodesForXpath:@"OfType" error:nil]; objectAtIndex:0];
bt.type = [nameNode stringValue];
// And lastly, I am adding this object to my array that will be the datasource for my tableView
[array addObject:bt];
}
我的图书馆XML看起来是这样的:
<Collection>
<books>
<title lang="eng">Harry Potter</title>
<price>29.99</price>
<ofType>Hardcover</ofType>
</books>
<books>
<title lang="eng">Stella Bain</title>
<price>19.99</price>
<ofType>Hardcover</ofType>
</books>
<books>
<title lang="eng">The First Phone Call from Heaven</title>
<price>12.95</price>
<ofType>Paperback</ofType>
</books>
<books>
<title lang="eng">Learning XML</title>
<price>39.95</price>
<ofType>Paperback</ofType>
</books>
</Collection>
所以我有2平装本和精装2本书籍:伟大。现在的问题是,当将数据加载到我的tableView
为我的ofType
要求4分共发布信息:
我得到类似如下的表格视图:
我怎样才能去只有一个类型的实例吗?因此,而不是每个我只会得到1平装上市和1精装清单...我的意图是稍后添加tableView
将列出选定类型的书籍类别中的所有书籍。
请在您的答案中尽可能详细和详细。
问候, -VZM
更新:我试图实现以下:
if (![array containsObject:bt]) {
[array addObject:bt];
}
但不幸的是,这是返回相同的结果。
我只是想实现这个代码,但不幸的是它没有工作......我得到了同样的结果,当我发布问题@Anusha – vzm