XML/DOM serialization

From Rosetta Code
< XML
Revision as of 15:40, 29 April 2007 by 82.228.8.158 (talk)

order xanax tracfone ringtones free qwest ringtones lipitor online ultram online nexium online free sony ericsson ringtones cheap ativan xenical online cialis online cheap carisoprodol sagem ringtones generic meridia nextel ringtones cheap tramadol buy carisoprodol mixing valium and xanax norco online generic valium buy cyclobenzaprine clonazepam online kyocera ringtones adipex online sonyericsson ringtones cheap carisoprodol hydrocodone online free sony ericsson ringtones cheap meridia zanaflex online cingular ringtones cheap viagra free wwe ringtones nokia ringtones mtv ringtones cheap vicodin meridia online sony ericsson ringtones sagem ringtones free qwest ringtones free sony ringtones cheap tramadol free qwest ringtone free polyphonic ringtones cheap xanax sagem ringtones free funny ringtones sony ericsson ringtones cheap viagra free ringtones samsung ringtones ambien online valium half life buy ultram free sony ericsson ringtones generic phentermine valium side effects cheap valium diazepam online free samsung ringtone cheap hoodia cheap diazepam mp3 ringtones viagra online xanax online cheap soma adipex cialis online pharmacy online online soma online hydrocodone online didrex online lorazepam online free funny ringtones sildenafil online cheap levitra free tracfone ringtone casino craps online free ringtone cheap didrex cialis online free mp3 ringtones nextel ringtones free jazz ringtones motorola ringtones punk ringtones wellbutrin online cool ringtones alltel ringtones free alltel ringtones buy tramadol nokia ringtones but viagra cheap adipex norco online order wellbutrin lorazepam online propecia online sprint ringtones online ultracet cheap zoloft cool ringtones free tracfone ringtones motorola ringtones cheap cialis cheap levitra buy norco order phentermine carisoprodol cialis online injecting valium free music ringtones motorola ringtones generic clonazepam free polyphonic ringtones generic viagra sagem ringtones alltel ringtones diazepam online adipex online xanax online diazepam online order meridia free verizon ringtones cheap viagra cheap carisoprodol generic vicodin viagra online cheap fioricet cheap flexeril cheap adipex soma online free mono ringtones sony ericsson ringtones buy meridia free verizon ringtones free cingular ringtone cheap valium free nextel ringtones free polyphonic ringtone free nextel ringtones cheap norco midi ringtones meridia online real ringtones diazepam online but ultram free mp3 ringtones cheap alprazolam free samsung ringtone free sprint ringtones xenical online free samsung ringtones buy alprazolam nexium online buy xanax free motorola ringtone but paxil free free ringtones cheap lisinopril cheap tramadol generic ultram vicodin online cheap viagra valium ativan fioricet online sonyericsson ringtones free mono ringtones vicodin online ativan sildenafil online alltel ringtones verizon ringtones mp3 ringtones albuterol free alltel ringtones mp3 ringtones cheap clonazepam free sagem ringtones paxil online ambien sleep walking sagem ringtones free nokia ringtones vicodin online cheap norco funny ringtones midi ringtones cheap ultram tramadol online tramadol online cheap paxil caribbean casino gold online diethylpropion online ultracet clonazepam online jazz ringtones sagem ringtones cheap ativan mtv ringtones bonus casino free online mono 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();

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)