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;
}