28 lines
791 B
Plaintext
28 lines
791 B
Plaintext
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
|
|
?xml_get_attribute(x,"Name")
|
|
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])
|