XML/Output: Difference between revisions

From Rosetta Code
< XML
Content added Content deleted
No edit summary
(added ocaml)
Line 24: Line 24:
<Student Name="Emily" />
<Student Name="Emily" />
</Students>
</Students>

=={{header|OCaml}}==
<pre>
# #directory "+site-lib/xml-light" (* or maybe just "+xml-light" *) ;;

# #load "xml-light.cma" ;;

# let students = ["April"; "Bob"; "Chad"; "Dave"; "Emily"] in
let tags_students = List.map (fun name ->
Xml.Element ("Student", [("Name", name)], [])
) students in
print_endline (
Xml.to_string_fmt (Xml.Element ("Students", [], tags_students)))
;;
<Students>
<Student Name="April"/>
<Student Name="Bob"/>
<Student Name="Chad"/>
<Student Name="Dave"/>
<Student Name="Emily"/>
</Students>
- : unit = ()
</pre>

Revision as of 22:22, 28 December 2008

Task
XML/Output
You are encouraged to solve this task according to the task description, using any language you may know.

Given the list of names and the below template, generate an XML document.

<Students>
  <Student Name="XXX" />
</Students>

Visual Basic .NET

       Dim names As String() = New String() {"April", "Bob", "Chad", "Dave", "Emily"}

       Dim xml = <Students>
                     <%= From s In names Select <Student Name=<%= s %>/> %>
                 </Students>
       Console.WriteLine(xml)

Output

<Students>
  <Student Name="April" />
  <Student Name="Bob" />
  <Student Name="Chad" />
  <Student Name="Dave" />
  <Student Name="Emily" />
</Students>

OCaml

# #directory "+site-lib/xml-light" (* or maybe just "+xml-light" *) ;;

# #load "xml-light.cma" ;;

# let students = ["April"; "Bob"; "Chad"; "Dave"; "Emily"] in
  let tags_students = List.map (fun name ->
      Xml.Element ("Student", [("Name", name)], [])
    ) students in
  print_endline (
    Xml.to_string_fmt (Xml.Element ("Students", [], tags_students)))
  ;;
<Students>
  <Student Name="April"/>
  <Student Name="Bob"/>
  <Student Name="Chad"/>
  <Student Name="Dave"/>
  <Student Name="Emily"/>
</Students>
- : unit = ()