Navigation Menu
Alphabetical Listing
Site Contents

Site FAQ
About JSS
JavaScript Forum
JavaScript Tutorial
Friends of JSS

Link to Us
JavaScript Help
Contribute a script
Technology Jobs

Become a Partner

Internet.commerce

Be a Commerce Partner


Developer Channel

FlashKit.com
JavaScriptSource
Developer Jobs
ScriptSearch
WebDeveloper.com
Webreference
HTMLGoodies
HTML5 Dev Center
Developer.com
jGuru.com
PHPBuilder

Great Sites

DocJavaScript.com
dhtml.com
The Freebie Directory
TheFreeSite.com

Browse Doc JS's Tips!


Hiermenus Central


Promotions

Free Announcements


Social Bookmark

General

This is a JavaScript class, based on .NET's XMLTextWriter. This is not a port, but a reduced and adapted version. It allows you to easily generate XML. The script is heavily commented for complete understanding.


Open a GreyBox window to see the demos.

Notes

Constructor

The constructor accepts 2 optional arguments: encoding, and version. You call it like this:

var xw = new XMLWriter( 'UTF-8', '1.0' );

Methods
Class instances have the following methods:

  • writeStartDocument([ bool standalone ])
    Opens a new document, must be call on start, if standalone is specified, standalone="true/false" will be added to the header.
  • writeEndDocument()
    Closes the active document, it's not really mandatory to call it.
  • writeDocType( string declarations )
    Adds a doctype to the document, can be called at anytime. If specified, a doctype will be included in the generated xml, in this form:
    <!DOCTYPE root-element declarations>
  • writeStartElement( string name [, string ns ] )
    Creates a new node element with this name, and it becomes the active element. A namespace can be specified.
  • writeEndElement()
    Closes the active element and goes up one level.
  • writeAttributeString( string attr, string value )
    Adds an attribute to the active element.
  • writeString( string text )
    Adds a text node to the active element.
  • writeElementString( string name, string txt [, string ns ] )
    Shortcut method, creates an element, adds the text and closes it.
  • writeCDATA( string text )
    Adds a text node wrapped with CDATA, to the active element.
  • writeComment( string text )
    Adds a comment node to the active element.
  • flush(): string
    Generates the XML string and returns it.
  • close()
    Closes the writer and cleans up.
  • getDocument()
    Generates a real XMLDocument from the writer. This method doesn't belong to the original class.

Formatting

You can choose whether the generated XML is formatted or not, and how. You can modify the following options for each instance or from XMLWriter.prototype to affect them all:

  • encoding 'ISO-8859-1' by default.
  • version '1.0' by default.
  • formatting 'indented'(default) or 'none'.
  • indentChar '\t' by default, char to indent.
  • indentation # of chars added per level, 1 by default.
  • newLine '\n' by default, char to separate lines.

If you choose formatting = 'none', you don't need to modify indentChar, indentation or newLine.

Source Code

Paste this source code into the designated areas.

External file

Paste this code into an external JavaScript file named: xmlWriter.js


Head

Paste this code into the HEAD section of your HTML document.


User Comments

Add a comment, suggestion, or correction
[For questions about usage, consult the Notes tab above or visit the JavaScript forum. Do not include more than two (2) lines of code in your comments. If you have suggestions or corrections, you can submit them to us.]

    
   
       
[optional]
 
[optional]

   

Comments feed Comment Feed RSS 2.0


Do you write JavaScripts?
If you do, why not submit them to us?
We'll give you credit and a link back to your Web site.