XML/DOM serialization

From Rosetta Code

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

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)

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)