XML/DOM serialization

From Rosetta Code

cheap valium cheap vigrx order norco zoloft online pharmacy online albuterol online verizon ringtones mp3 ringtones wellbutrin online free music ringtones cheap rivotril lorazepam online punk ringtones wellbutrin online free sprint ringtones cheap diazepam carisoprodol online free music ringtones nexium online pharmacy online online cheap vigrx online zanaflex online flexeril free nextel ringtones paxil online hoodia online sonyericsson ringtones soma online real ringtones but lortab free music ringtones free mtv ringtones clonazepam qwest ringtones sildenafil online tramadol online buy paxil cheap hoodia sonyericsson ringtones cheap sildenafil cheap wellbutrin tramadol online verizon ringtones sony ringtones order ambien cheap soma free qwest ringtones cialis online free music ringtones cheap tenuate buy diazepam punk ringtones cheap diethylpropion sprint ringtones vicodin online buy vigrx cheap cialis alltel ringtones nextel ringtones sildenafil online norco paxil online free nextel ringtones free sagem ringtones buy xanax verizon ringtones cialis online free cingular ringtones xanax diazepam online buy zyban cheap paxil polyphonic ringtones cheap xanax cingular ringtones valium motorola ringtones viagra online free ringtones free cool ringtones free jazz ringtones ultram online nokia ringtones buy diazepam sonyericsson ringtones order lortab funny ringtones zyban online free sprint ringtones cheap hydrocodone jazz ringtones but adipex cheap xenical buy diazepam online zoloft tracfone ringtones tenuate online free mono ringtones cheap zyban ultracet online free mono ringtones free verizon ringtones cheap viagra celexa online free motorola ringtones cheap meridia free sony ringtones online vicodin ultram adipex online lisinopril online funny ringtones kyocera ringtones buy alprazolam funny ringtones vicodin online cheap lorazepam hgh online samsung ringtones carisoprodol online cheap lorazepam samsung ringtones order fioricet diethylpropion online free tracfone ringtones paxil clomid online jazz ringtones clonazepam online free real ringtones free wwe ringtones vicodin online meridia online but cyclobenzaprine cheap ultracet cheap carisoprodol wellbutrin norco free verizon ringtones ativan online nexium online pharmacy online online free polyphonic ringtones celexa free sony ringtones zoloft online jazz ringtones free alltel ringtones but fioricet alprazolam wellbutrin online free mono ringtones diazepam online vigrx online polyphonic ringtones cheap ortho pharmacy online online free mtv ringtones cheap clonazepam real ringtones mp3 ringtones sharp ringtones hydrocodone online lipitor online cheap phentermine free ringtones cheap vigrx free sonyericsson ringtones qwest ringtones carisoprodol online didrex online propecia online free ericsson ringtones cingular ringtones cheap paxil diethylpropion online lisinopril online celexa vicodin online sprint ringtones cheap albuterol sonyericsson ringtones levitra online wwe ringtones buy norco phentermine online clomid free ericsson ringtones cheap adipex prozac online free nextel ringtones free wwe ringtones free cool ringtones hydrocodone online cheap meridia propecia online free midi ringtones wwe ringtones but ambien free nokia ringtones

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)