NSXMLDocument
을 사용하여 XML 파일을 구문 분석 할 수 있습니다. NSXMLParser.
을 구현하는 것보다 약간 쉬울 수도 있습니다. 예가 아직 없습니다. 이 데이터를 일단
- (void) parseItunesLibrary {
NSError* error = nil;
NSString* libraryPath = nil;
// better way to get the iTunes database file (in case library was moved)
NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
NSDictionary* iAppsDict = [defaults persistentDomainForName:@"com.apple.iApps"];
NSArray* itunesDBPath = [iAppsDict objectForKey:@"iTunesRecentDatabasePaths"];
if([itunesDBPath count] > 0) {
libraryPath = [[itunesDBPath objectAtIndex: 0] stringByExpandingTildeInPath];
}
NSData* libraryData = [NSData dataWithContentsOfFile:libraryPath];
NSXMLDocument* libraryDoc = [[NSXMLDocument alloc] initWithData:libraryData options:NSXMLDocumentTidyXML error:&error];
// handle error before continuing here
if (error) {
NSLog(@"%@", [error localizedDescription]);
[libraryDoc release];
return;
}
NSXMLElement* root = [libraryDoc rootElement];
[libraryDoc release];
// assuming you wanted an array of the songs you can get them like this
NSArray* songsArray = [root nodesForXPath:@".//dict/dict/dict" error:nil];
// to access the different song elements you can do something like this
for(NSXMLElement* song in songsArray) {
NSString* songArtist = [[[song nodesForXPath:@"./Artist" error:nil] lastObject] stringValue];
}
}
, 당신은 그것은 NSTableView
당신이 원하는 방식을 넣을 수 있습니다. NSTableView Programming Guide에서 테이블 데이터 소스를 사용하십시오.
궁금한 점이 있다면 테스트 해 보셨습니까? –
흠 나는 기억이 안 나는데, 비슷한 것을 구현했다. 잠재적 인 구문 오류 이외에는 여전히 유효해야합니다. – David