JSFiddle - React, Tailwind, and code Playground
HTML
<script id="xml_wrapper" type="application/xml"><xml><root><branch id="one">branch stuff</branch></root></xml></script>
JavaScript
function get_doc(dom_node) {
var doc;
if (navigator.userAgent.indexOf("MSIE") >= 0) {
doc = new ActiveXObject("Msxml2.DOMDocument.3.0");
doc.loadXML(document.getElementById(dom_node).text);
}
else {
doc = Sarissa.getDomDocument();
doc = (new DOMParser()).parseFromString(document.getElementById(dom_node).textContent, "text/xml");
// runs XSLTProcessor in modern browsers as if it was trasformNode
doc.transformNode = function (stylesheet) {
var processor = new XSLTProcessor();
processor.importStylesheet(stylesheet);
return new XMLSerializer().serializeToString(processor.transformToDocument(this));
}
// allows modern browsers to extract xml the way the legacy IEs did
var getXML = {};
getXML.toString = function(){
return new XMLSerializer().serializeToString(doc);
};
doc.xml = getXML;
//doc.xml = new XMLSerializer().serializeToString(doc); // per bfavaretto's Question
}
return doc;
}
$(document).ready(function() {
var doc = get_doc('xml_wrapper');
alert(doc.xml);
doc.selectSingleNode('//branch').setAttribute('id', 'two');
alert(doc.xml);
});
/* * ====================================================================
* About: This a a compressed JS file from the Sarissa library.
* see http://dev.abiss.gr/sarissa
*
* Copyright: Manos Batsis, http://dev.abiss.gr
*
* Licence:
* Sarissa is free software distributed under the GNU GPL version 2
* or higher, GNU LGPL version 2.1 or higher and Apache Software
* License 2.0 or higher. The licenses are available online see:
* http://www.gnu.org
* http://www.apache.org
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
* WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE
* AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
*...