xml2json and json2xml tests
Tests the functions provided by xml.com to convert between xml and json using the same conversion syntax.
HTML
<script src="http://goessner.net/download/prj/jsonxml/json2xml.js"></script>
<script src="http://goessner.net/download/prj/jsonxml/xml2json.js"></script>
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<div ng-app>
<div ng-controller="MyController">
<textarea ng-model="XmlInput" placeholder="Input XML"></textarea>
<b>Output JSON</b>
<p>{{JsonOutput}}</p>
<b>Output XML</b>
<p>{{XmlOutput}}</p>
<a href="#" ng-click="Convert()">Convert</a>
</div>
</div>
CSS
body {
padding: 10px;
}
textarea {
width: 100%;
height: 50px;
}
JavaScript
function MyController($scope) {
$scope.XmlInput = '';
$scope.JsonOutput = '';
$scope.XmlOutput = '';
$scope.Convert = function() {
var parsedXml = parseXml($scope.XmlInput);
$scope.JsonOutput = xml2json(parsedXml, '\t');
$scope.XmlOutput = json2xml(eval('json='+$scope.JsonOutput));
};
}
function parseXml(xml) {
var dom = null;
if (window.DOMParser) {
try {
dom = (new DOMParser()).parseFromString(xml, "text/xml");
}
catch (e) { dom = null; }
}
else if (window.ActiveXObject) {
try {
dom = new ActiveXObject('Microsoft.XMLDOM');
dom.async = false;
if (!dom.loadXML(xml)) // parse error ..
window.alert(dom.parseError.reason + dom.parseError.srcText);
}
catch (e) { dom = null; }
}
else
alert("oops");
return dom;
}