Xml Js Versions Save

Converter utility between XML text and Javascript object / JSON text.

v1.6.4

5 years ago

Optimization done in js2xml routine that improves its performance for converting js object or json text to xml text. Thanks for the efforts https://github.com/nashwaan/xml-js/pull/63 by @AirCrisp

1.6.0

6 years ago

This release adds a major feature that allows to pass in custom functions for additional processing.

Example to make all parsed element names in upper case:

var js = convert.xml2js(xml, {compact: false, elementNameFn: function(name) {
    return name.toUpperCase();
}});

1.5.1

6 years ago

This release supports a new option indentAttributes to indent attributes in the xml. See below example from this thread:

<parent
  bar="1"
  baz="hello"
>
  <child
    attr1="a"
    attr2="b"
  />
</parent>

Also, support for converting js object of {a: 'hi'} rather than {a: {_text: 'hi'}} to <a>hi</a>. I previously didn't want to support this for the reasons outlined here. I am allowing this behavior in this library as it can be safe to handle this scenario when transforming js2xml only. xml2js conversion from <a>hi</a> to {a: 'hi'} rather than {a: {_text: 'hi'}} is still not supported as this could be dangerous for the reasons explained here.

v1.4.0

6 years ago

This release addresses some issues on escaping entity codes (e.g &amp;) in xml document.

The new implementation can cause a slight breaking change:

  • Converting from xml to js will decode the 5 entity codes &amp; &lt; &gt; &quot; &#39; into & < > " '. For example, &amp; WILL be changed to & character (instead of keeping it &amp;). Also, {sanitize: true} option is deprecated.
  • Converting from js to xml will cause 3 characters & < > (instead of 5 characters) if found in node text to be transformed into &amp; &lt; &gt;. And will cause 1 character " (instead of 5 characters) if found in node attribute to be transformed into &quot;.

For more discussion, see this issue.

v1.3.2

6 years ago

Parsing of processing instructions such as <?go there?> and <?go to="there"?> are now supported. Note that for the second case, the parser by default will not generate attributes unless flag {instructionHasAttributes: true} is set. See discussion for more details.

v1.2.0

7 years ago

Setting {compact: true, alwaysArray: true} when converting from xml to js/json will always put sub-element (even if it is only one) into an array of objects. This can simplify the client code a little so that it can always expect the content of an element is an array rather than checking everytime whether it is an array or object.

Also, multiple comments and multiple CDatas are now supported in compact mode.

v1.0.2

7 years ago

First major and stable release.

v1.1.0

7 years ago
  • Parsing of DOCTYPE is now supported but in a simple way: its content will be a string and will not be parsed further (see discussion).
  • XML output of CData will not be proceeded by indentation by default (see discussion). However, to get old behavior where CData is indented in the output, use {indentCdata: true}.