Parsing soap-like xml containing tag entities

by Michel Plungjan

HTML

<div id="container"></div>

CSS

td { padding:2px; border:1px solid black}

JavaScript

// var xml = $('<list>....);
var xml = $.parseXML('<list><Response><cfgId>280</cfgId><recommendations>&lt;Rule&gt;&lt;name&gt;simple rule&lt;/name&gt;&lt;category&gt;none&lt;/category&gt;&lt;severity&gt;warning&lt;/severity&gt;&lt;ruleEvalResult&gt;true&lt;/ruleEvalResult&gt;&lt;actionResult&gt; Current value of maxfilesperproc is  32 increase it to 1024&lt;/actionResult&gt;&lt;/Rule&gt;</recommendations></Response></list>');

var cfgid = 280,htmlTable="";

$(xml).find('Response').each(function(){
  var cid = $(this).find('cfgId').text();
  if(cid==cfgid) {   
    var newXmlString = $(xml).find('recommendations').text();
    var newXml = $("<div/>").html(newXmlString);
    var ruleseverity=$(newXml).find('severity').text();
    if(ruleseverity=="warning")  {
      var rulename=$(newXml).find('name').text();
      var rulecategory=$(newXml).find('category').text();
      var ruleresult=$(newXml).find('ruleEvalResult').text();
      var ruleactionresult=$(newXml).find('actionResult').text();
       htmlTable=('<tr><td>RuleName:'+rulename+'</td><td>RuleResult: '+ruleactionresult+'</td></tr>');
    }           
  }
});
$("#container").html('<table><tbody>'+htmlTable+'</tbody></table>');