@@ -1302,84 +1302,11 @@ -(id)parsedData:(NSData*)someData
13021302}
13031303}
13041304
1305- -(BOOL )startParsingFromURL : (NSURL *)xmlUrl
1306- {
1307- BOOL success=YES ;
1308- if ( [xmlUrl isFileURL ] ) {
1309- // NSLog(@"isFileURL: %@",xmlUrl);
1310- return [self parse: [NSData dataWithContentsOfURL: xmlUrl]];
1311- } else {
1312- NS_DURING
1313- // downloader = [[[MPWCachingDownloader alloc] init] autorelease];
1314- NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL: xmlUrl];
1315- // NSLog(@"theRequest: %@",theRequest);
1316- [theRequest setValue: @" ObjectiveXML" forHTTPHeaderField: @" User-Agent" ];
1317- [theRequest setValue: @" gzip" forHTTPHeaderField: @" Accept-Encoding" ];
1318- isReceivingData=YES ;
1319- [[[NSURLConnection alloc ] initWithRequest: theRequest delegate: self ] autorelease ];
1320- if ( [documentHandler respondsToSelector: @selector (parserDidStartDocument: ) ] ) {
1321- [documentHandler parserDidStartDocument: (NSXMLParser *)self ];
1322- }
1323- NS_HANDLER
1324- if ( ![[localException name ] isEqual: @" abort" ] ) {
1325- NSLog (@" got exception: %@ " ,localException);
1326- success=NO ;
1327- } else {
1328- NSLog (@" got abort" );
1329- }
1330- NS_ENDHANDLER
1331-
1332- // NSLog(@"started the connection: %@",connection);
1333- }
1334- return success;
1335- }
1336-
1337- -(BOOL )parseDataFromURL : (NSURL *)xmlUrl
1338- {
1339- BOOL success=YES ;
1340- // NSLog(@"parseDataFromURL: %@",xmlUrl);
1341- if ( [self startParsingFromURL: xmlUrl] ) {
1342- @try {
1343- while ( isReceivingData ) {
1344- // NSLog(@"will run runloop %@",[NSRunLoop currentRunLoop]);
1345- [[NSRunLoop currentRunLoop ] runMode: NSDefaultRunLoopMode beforeDate: [NSDate distantFuture ]];
1346- // NSLog(@"loop did run");
1347- }
1348- // NSLog(@"end of loop");
1349- }
1350- @catch (NSException *exception) {
1351- if ( ![[exception name ] isEqual: @" abort" ] ) {
1352- NSLog (@" got exception: %@ " ,exception);
1353- success=NO ;
1354- } else {
1355- NSLog (@" got abort" );
1356- }
1357-
1358- }
1359- }
1360- return success;
1361- }
1362-
1363- -(id )parsedDataFromURL :urlOrString
1364- {
1365- NSURL *theUrl=(NSURL *)urlOrString;
1366- // NSLog(@"parsedDataFromURL: %@",theUrl);
1367- if ( [theUrl isKindOfClass: [NSString class ]] ) {
1368- theUrl=[NSURL URLWithString: (NSString *)theUrl];
1369- }
1370- if ( [self parseDataFromURL: theUrl] ) {
1371- return [self parseResult ];
1372- } else {
1373- return nil ;
1374- }
1375- }
13761305
13771306-(BOOL )parse
13781307{
13791308if ( [self data ] ) {
13801309return [self parse: [self data ]];
1381- } else if ( [self url ] ) {
1382- return [self parseDataFromURL: [self url ]];
13831310} else {
13841311[NSException raise: @" nodata" format: @" no data or URL specified" ];
13851312return NO ;
0 commit comments