js2xml

Convert arbitary javascript to simple XML. Developed for ApiAxle.

npm install js2xml
15 downloads in the last day
66 downloads in the last week
241 downloads in the last month

About

A very simple library that converts a simple data structure into XML. Doesn't support namespaces or attributes, just very simple output. This allows you to write JSON and XML from the same structure without a middle-man.

It's written in Coffeescript but the JS is included.

Installing

$ npm install js2xml

Usage

var Js2Xml = require("js2xml").Js2Xml;

var person = {
  name: "Phil Jackson",
  mood: "Bored",
  stuff: [ "love, "puppies", 2, 2.3, { one: { two: "three" } } ],
  morestuff: { milkshake: "banana" }
};

var js2xml = new Js2Xml("person", person);
js2xml.toString();

Gives:

<?xml version="1.0" encoding="UTF-8"?>
<person>
  <name>Phil Jackson</name>
  <mood>Bored</mood>
  <stuff>
    <item>love</item>
    <item>puppies</item>
    <item>2</item>
    <item>2.3</item>
    <item>
      <one>
        <two>three</two>
      </one>
    </item>
  </stuff>
  <morestuff>
    <milkshake>banana</milkshake>
  </morestuff>
</person>

Pluralisation of lists

Here's how you might override the pluralisation function to deal with anonymous list items in Coffeescript:

class AppleXml extends Js2Xml
  @map =
    "apples": "apple"

  pluralisation: ( name ) ->
    return @constructor.map[ name ] or "item"
npm loves you