XML/Input: Difference between revisions

no edit summary
m (syntax highlighting fixup automation)
No edit summary
Line 1,597:
Dave
&mily
</pre>
 
=={{header|FutureBasic}}==
<syntaxhighlight lang="futurebasic">
 
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 = @"<Students>\n"
xmlString = fn StringByAppendingFormat( xmlString, @"%@\n",@"<Student Name=\"April\" Gender=\"F\" DateOfBirth=\"1989-01-02\" />\n" )
xmlString = fn StringByAppendingFormat( xmlString, @"<Student Name=\"Bob\" Gender=\"M\" DateOfBirth=\"1990-03-04\" />\n" )
xmlString = fn StringByAppendingFormat( xmlString, @"<Student Name=\"Chad\" Gender=\"M\" DateOfBirth=\"1991-05-06\" />\n" )
xmlString = fn StringByAppendingFormat( xmlString, @"<Student Name=\"Dave\" Gender=\"M\" DateOfBirth=\"1992-07-08\">\n" )
xmlString = fn StringByAppendingFormat( xmlString, @"<Pet Type=\"dog\" Name=\"Rover\" />\n" )
xmlString = fn StringByAppendingFormat( xmlString, @"</Student>\n" )
xmlString = fn StringByAppendingFormat( xmlString, @"<Student DateOfBirth=\"1993-09-10\" Gender=\"F\" Name=\"&#x00C9;mily\" />\n" )
xmlString = fn StringByAppendingFormat( xmlString, @"</Students>" )
CFDataRef xmlData = fn StringData( xmlString, NSUTF8StringEncoding )
XMLParserRef parser = fn XMLParserWithData( xmlData )
XMLParserSetDelegateCallback( parser, @fn MyParserDelegateCallback, NULL )
fn XMLParserParse( parser )
end fn
 
fn ParseXMLFile
 
HandleEvents
</syntaxhighlight>
 
{{out}}
<pre>
April
Bob
Chad
Dave
Émily
</pre>
 
416

edits