XML/DOM serialization

From Rosetta Code

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