我在文档目录中有一个XML文件,我试图解析(在表格视图中显示)。
<tickets>
<ticket>
<tid>11111</tid>
<status>Open</status>
<summary>Summary 1</summary> //want to grab this
<notes>Notes 1</notes>
</ticket>
<ticket>
<tid>11112</tid>
<status>Open</status>
<summary>Summary 2</summary> //want to grab this
<notes>Notes 2</notes>
</ticket>
...
</tickets>
我希望summary
显示在表格视图中。现在,我只是想让一个NSMutableArray填充所有的汇总字符串。
我正在使用XMLReader
来创建所有内容的字典。然后,我使用以下代码尝试进行汇总。
NSData *data = [NSData dataWithContentsOfFile:save];
NSString *xml = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
// Parse the XML into a dictionary
NSError *parseError;
NSDictionary *xmlDictionary = [XMLReader dictionaryForXMLString:xml error:&parseError];
NSDictionary *ticketsArray = [xmlDictionary objectForKey:@"tickets"];
NSDictionary *ticketArray = [ticketsArray objectForKey:@"ticket"];;
//Now have a dictionary with ticket... what to do next?
我不确定下一步该去哪儿。您是否知道如何将所有摘要转换为NSMutableArray?如果首选,我可以使用XMLReader
以外的其他内容。
答案 0 :(得分:1)
NSMutableArray *summaries = [NSMutableArray array];
for (NSString *key in [ticketArray allKeys])
{
if ([key isEqualToString:@"summary"])
[summaries addObject:[ticketArray objectForKey:key]];
}
警告:从内存中编写而未经过测试。 另外,你有一个名为ticketArray的词典,这让我有点困惑,但我认为那实际上是一本字典。
答案 1 :(得分:1)
试试这个:
for (NSDictionary *d in ticketArray) {
NSDictionary *d2 = [d objectForKey:@"summary"];
[summaries addObject:[d2 objectForKey:@"text"]];
}
您获取摘要文本的字符串可能需要修剪,但基本想法应该有效。