XML/DOM serialization

< XML
Revision as of 16:53, 17 August 2007 by rosettacode>Cf2Nem

tv studio pctv ati fire incanto classic saeco risultati motomondiale 2004 km0 mitsubishi pajero sport auto km 0 schede madri asus p4p800s sigma 12-24 sn una tettona cittadinanza canon lbp 2000 toner microfono ps2 chi ha vinto piu coppe al mondo calcio dinotopia tablet pc 12 1 hp manifesto ringraziamenti fiat coupe 1 8 turbo nh hotel chacker soho square erikson e la crisi psico sociale gioco all aperto bambino minolta toner cuffie wireless dolby digital il libro della aldo giovanni e giacomo volo aereo palermo lampedusa iraq fotos ivy queen loona bailando pulitore vapore smallville kristin kreuk nuda fax 3310l prestito bruxelles bepi koelliker regali per casa dpr 686 del 3 5 1957 yety sport 5 rrufeja toyota mantova velodyne vx10 camera villorba www canzoni di leone di lernia it foto camera digitale online olimpia splendid deumidificatore batterie samsung e800 ecco i cieli del mito libri casper slide la macchina nera kingston ddr sodimm fromage frais invernali ninne nanne in italiano esce il drago entra la tigre peretta volkswagen fox diesel dori ghezzi wess cantautore garmin gps iii seks vidoe corpi vogliamoci tanto bene lalbero delle pere the biggest black cock un grande amore picrite star wars. clone wars. vol. 01 jogos da playboy nike calcio ecco la demo di age of empires iii la camera della morte terratec aureon universe 7 1 dvd-rw 9 4 gb internet a passo di lumaca piastra per bistecchiera piscina di antegnate appendici carrelli www lady web it guri quarta serie speciale 13 dicembre 2 hub 5 porte ethernet rod usted de diego torres olivetti logos 682 s piatti in vetro trottolino hp 200 todo lo que hago lo hago por ti sale marino integrale testo voglia di dance all night kit cp 100 film erotici helena figo sexy orbs athlon 64 939 3000 pieces de rechange processori intel pentium 4 prescott foto naziskin tocuh santo antonio pisa san francisco biglietti aerei gamepad pc saitek tarantelle pugliesi breezin gamepad joystick hotel centrale jesolo fotos garotas nuas navigatore gps blaupunkt grimaudo piastre intercambiabili cranberries zombi chat gay roma gratis bey usb sharp gx30 extremo mina in studio audi a3 1.6 calciatore nudo lampade risparmio energetico handel cd logitech premium usb headset 350 kuman mi manchi pooh dvd 8x princo yonis musica per i tuoi sogni pirandello l esclusa piscine montichiari rex rd 185 dx wwwpetardas con cardim, fernao set lettino bando straordinario 19 12 2005 servizio civile silke www google ro europa grecia isola ibm t43 foto di pantere www robertobaggio it zorro alla corte di spagna drow wavelenght schema fattura infradito sandali dichiarazione dei rediti sia di fornaci frankfurt an der oder fz 61 1 primi denunciati tu soltanto tu delta v via da qui mp3 preromanticismo il pingpong arctic cooling nv silencer 5 heroin labtec mouse optical big girls www canzoni da scaricare it grandmaster flash belle di notre dame de paris ocktoberfest un emozione da poco anna oxa love lina modem 56 interno xp crimsom rooom dvd rip numer barzallette cattive colin mcrea rally 2 classiche napoletane byblos terra stampante epson stylus pro 4000 chu mei andrews virginia libri fliston fortuna slim bluetooth la canzone dei vecchi amanti photos colocataires m6 ef 100 macro grow2 kaoma video lambada a scuola dallo sciamano harrrdito duello nel ventre della terra samira saeed aspirapolvere 1400 notebook toshiba libretto u100 la tani free sheet music everybody is changing cafe1930 telefonia fissa essenza si zegna romani acer dlp adobe acrobat 6 0 professional sunstech dvp sound blaster zs notebook estadio w televisori 32 pollici lcd sony peugeot 306 1995 nvidia 5900 vivo

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

Create a simple DOM and having it serialize to:

 <?xml version="1.0" ?>
 <root>
     <element>
         Some text here
     </element>
 </root>

JavaScript

Interpreter: Firefox 2.0

DOM

var doc = document.implementation.createDocument( null, 'root', null );
var root = doc.documentElement;
var element = doc.createElement( 'element' );
root.appendChild( element );
element.appendChild( document.createTextNode('Some text here') );
var xmlString = new XMLSerializer().serializeToString( doc );

E4X

 var xml = <root>
   <element>Some text here</element>
 </root>;
 var xmlString = xml.toXMLString();

E4X — with processing instruction

 XML.ignoreProcessingInstructions = false;
 var xml = <?xml version="1.0"?>  
 <root>
   <element>Some text here</element>
 </root>;
 var xmlString = xml.toXMLString();

Perl

use XML::DOM::BagOfTricks qw(createDocument createTextElement);

my ($doc, $root) = createDocument('root');
$root->appendChild(
    createTextElement($doc, 'element', 'Some text here')
);
print $doc->toString;

PHP

Interpreter: PHP 5

 <?php
 $dom = new DOMDocument();//the constructor also takes the version and char-encoding as it's two respective parameters
 $dom->formatOutput = true;//format the outputted xml
 $root = $dom->createElement('root');
 $element = $dom->createElement('element');
 $element->appendChild($dom->createTextNode('Some text here'));
 $root->appendChild($element);
 $dom->appendChild($root);
 $xmlstring = $dom->saveXML();
 

Python

Interpreter: Python 2.5

 from xml.dom.minidom import getDOMImplementation
 
 dom = getDOMImplementation()
 document = dom.createDocument(None, "root", None)
 
 topElement = document.documentElement
 firstElement = document.createElement("element")
 topElement.appendChild(firstElement)
 textNode = document.createTextNode("Some text here")
 firstElement.appendChild(textNode)
 
 xmlString = document.toprettyxml(" " * 4)


Interpreter: Python 2.5

 from xml.etree import ElementTree as et
 
 root = et.Element("root")
 et.SubElement(root, "element").text = "Some text here"
 xmlString = et.tostring(root)

Ruby

 require("rexml/document")
 include REXML
 (xml = Document.new) << XMLDecl.new
 root=xml.add_element('root')
 element=root.add_element('element')
 element.add_text('Some text here')
 puts xml.to_s(0)