include "NSLog.incl" include "Tlbx XML.incl" #define STUDENTS_KEY @"Students" #define STUDENT_KEY @"Student" #define NAME_KEY @"Name" void local fn MyParserDelegateCallback( ev as long, parser as XMLParserRef, userData as ptr ) static BOOL studentsFlag = NO CFDictionaryRef attributes CFStringRef name select ( ev ) case _xmlParserDidStartElement select ( fn XMLParserDelegateElementName(parser) ) case STUDENTS_KEY studentsFlag = YES case STUDENT_KEY if ( studentsFlag ) attributes = fn XMLParserDelegateAttributes(parser) name = fn DictionaryObjectForKey( attributes, NAME_KEY ) if ( name ) then NSLog(@"%@",name) end if end select end select end fn void local fn ParseXMLFile CFStringRef xmlString = @"\n" xmlString = fn StringByAppendingFormat( xmlString, @"%@\n",@"\n" ) xmlString = fn StringByAppendingFormat( xmlString, @"\n" ) xmlString = fn StringByAppendingFormat( xmlString, @"\n" ) xmlString = fn StringByAppendingFormat( xmlString, @"\n" ) xmlString = fn StringByAppendingFormat( xmlString, @"\n" ) xmlString = fn StringByAppendingFormat( xmlString, @"\n" ) xmlString = fn StringByAppendingFormat( xmlString, @"\n" ) xmlString = fn StringByAppendingFormat( xmlString, @"" ) CFDataRef xmlData = fn StringData( xmlString, NSUTF8StringEncoding ) XMLParserRef parser = fn XMLParserWithData( xmlData ) XMLParserSetDelegateCallback( parser, @fn MyParserDelegateCallback, NULL ) fn XMLParserParse( parser ) end fn fn ParseXMLFile HandleEvents