Using Sarissa, converting a string containing XML in to a regular DOM node can be done using the following:
var dom = Sarissa.getDomDocument();
var xml = '
‘dom’ can then be treated as a DOM node, and manipulated using the regular DOM API functions (appendChild, childNodes and so on). To convert the node back to XML, simply access it’s ‘xml’ property:
var xml_again = dom.xml;
Sarissa has one disadvantage: the library itself is a hefty 24 KB. As the application I’m working on only needs to work with Mozilla, I decided to dig in to the Sarissa source code to see how the above could be achieved without the compatibility layer. Here’s the equivalent Mozilla specific code, making direct calls to additional classes provided by Mozilla’s XML extras:
var xml = '
var dom = (new DOMParser()).parseFromString(xml, "text/xml");
And to convert back to a string:
var xml_again = (new XMLSerializer()).serializeToString(dom);
Unfortunately, as far as I can tell the only official documentation for the XML extras package takes the form of a test suite.
Visual Studio Code: End-to-End Editing and Debugging Tools for Web Developers
Form Design Patterns
Jump Start Git, 2nd Edition