Cocoa touch 如何设置XMLParser来存储非特定数量的对象?
我试图用各种类似的标记集解析XML。我阅读此文件的全部目的是为了让我的应用程序能够接收已更新文档的列表 我现在面临的情况是试图找出如何将未知数量的类似对象存储到数组中,以便我访问程序中的其他地方 到目前为止,我的XMLParser类的解析器方法如下所示: 我试图在解析器找到第一个标记时创建pdfDocument对象,并在文档的最后一个标记读入可变数组时存储相同的对象。这可能适用于第一个对象,但当读取下一组数据时,它根本不起作用Cocoa touch 如何设置XMLParser来存储非特定数量的对象?,cocoa-touch,ios,nsmutablearray,nsxmlparser,Cocoa Touch,Ios,Nsmutablearray,Nsxmlparser,我试图用各种类似的标记集解析XML。我阅读此文件的全部目的是为了让我的应用程序能够接收已更新文档的列表 我现在面临的情况是试图找出如何将未知数量的类似对象存储到数组中,以便我访问程序中的其他地方 到目前为止,我的XMLParser类的解析器方法如下所示: 我试图在解析器找到第一个标记时创建pdfDocument对象,并在文档的最后一个标记读入可变数组时存储相同的对象。这可能适用于第一个对象,但当读取下一组数据时,它根本不起作用 怎样才能让这样的事情发生?有人能给我指一下正确的方向吗?我想问题是我
怎样才能让这样的事情发生?有人能给我指一下正确的方向吗?我想问题是我可以动态命名文档对象吗。我找到的唯一选择是创建一个临时表并将信息存储在那里,在我获得所有信息后,我将其与我的永久存储表进行比较。创建临时表可能是最好的选择。我将应用程序设置为读取包含所有数据的xml,并将其存储在临时表中。下载后,我将与我的永久表进行比较,无论哪个条目标记为“已修改”或“新建”,都将存储到永久表,临时表将被清除
-(void)parser:(NSXMLParser *)parser
didStartElement:(NSString *)elementName
namespaceURI:(NSString *)namespaceURI
qualifiedName:(NSString *)qName
attributes:(NSDictionary *)attributeDict {
if (currentTextString) {
[currentTextString release];
currentTextString = nil;
}
if ([elementName isEqualToString:@"reference_number"]) {
pdfDocument = [[PDFDocument alloc] init];
pdfDocument.educationDocumentReference = currentTextString;
} else if ([elementName isEqualToString:@"name"]) {
pdfDocument.educationDocumentName = currentTextString;
} else if ([elementName isEqualToString:@"type"]) {
pdfDocument.educationDocumentType = currentTextString;
} else if ([elementName isEqualToString:@"date"]) {
pdfDocument.educationDocumentDate = [dateformatter dateFromString:currentTextString];
} else if ([elementName isEqualToString:@"url"]) {
pdfDocument.educationDocumentURL = currentTextString;
[resultsMutableArray insertObject:pdfDocument atIndex:resultsArrayCount];
resultsArrayCount++;
}
}