XML/Input: Difference between revisions

From Rosetta Code
< XML
Content added Content deleted
No edit summary
Line 25: Line 25:
import flash.display.Sprite;
import flash.display.Sprite;


public class Spectrum extends Sprite
public class XMLReading extends Sprite
{
{
public function Spectrum()
public function XMLReading()
{
{
var xml:XML = <Students>
var xml:XML = <Students>

Revision as of 08:04, 14 January 2009

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

Given the below XML fragment, extract the list of names using whatever means desired. If the only viable method is to use XPath, refer the reader to the task XML_and_XPath.

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

Expected Output

April
Bob
Chad
Dave
Emily

ActionScript

<actionscript> package {

   import flash.display.Sprite;
   public class XMLReading extends Sprite
   {
       public function XMLReading()
       {
           var xml:XML = <Students>
                           <Student Name="April" />
                           <Student Name="Bob" />
                           <Student Name="Chad" />
                           <Student Name="Dave" />
                           <Student Name="Emily" />
                         </Students>;
           for each(var node:XML in xml..Student)
           {
               trace(node.@Name);
           }
       }
   }

} </actionscript>

Visual Basic .NET

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

       Dim names = (From node In xml...<Student> Select node.@Name).ToArray

       For Each name In names
           Console.WriteLine(name)
       Next

OCaml

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

# let x = Xml.parse_string "
  <Students>
    <Student Name=\"April\" />
    <Student Name=\"Bob\" />
    <Student Name=\"Chad\" />
    <Student Name=\"Dave\" />
    <Student Name=\"Emily\" />
  </Students>"
  in
  Xml.iter (function
    (Xml.Element ("Student", [("Name", name)], [])) -> print_endline name
  |  _ -> ()) x
  ;;
April
Bob
Chad
Dave
Emily
- : unit = ()