(phixonline)--> with javascript_semantics include builtins/xml.e constant xml = """ <Students> <Student Name="April" Gender="F" DateOfBirth="1989-01-02" /> <Student Name="Bob" Gender="M" DateOfBirth="1990-03-04" /> <Student Name="Chad" Gender="M" DateOfBirth="1991-05-06" /> <Student Name="Dave" Gender="M" DateOfBirth="1992-07-08"> <Pet Type="dog" Name="Rover" /> </Student> <Student DateOfBirth="1993-09-10" Gender="F" Name="Émily" /> </Students> """ sequence x = xml_parse(xml) procedure traverse(sequence x) if x[XML_TAGNAME]="Student" then puts(1,xml_get_attribute(x,"Name"),false) puts(1,"\n") else x = x[XML_CONTENTS] if not string(x) then for i=1 to length(x) do traverse(x[i]) end for end if end if end procedure traverse(x[XML_CONTENTS])