我查看了JavaScript中将字符串转换为XML文档,但在我的情况下没有找到解决方案,有人可以帮助我吗?
我有一个如下的字符串,我想将其转换为XML对象,我该怎么做?
<list>
<Response>
<cfgId>280</cfgId>
<recommendations><Rule>
<name>simple rule</name>
<category>none</category>
<severity>warning</severity>
<ruleEvalResult>true</ruleEvalResult>
<actionResult> Current value of maxfilesperproc is 32
increase it to 1024</actionResult>
</Rule></recommendations>
</Response>
</list>
上述xml的可读版本
<list>
<Response>
<cfgId>280</cfgId>
<recommendations>
<Rule> <name>simple rule</name> <category>none</category> <severity>warning</severity> <ruleEvalResult>true</ruleEvalResult> <actionResult>Current value of maxfilesperproc is 32
increase it to 1024</actionResult> </Rule>
</recommendations>
</Response>
</list>
更新,这是我尝试过的方法。
var xml;
$.post("/csm/rules.action",
{ sessiontoken: sessiontoken,
cfgid: cfgid},
function(xmldata)
{
xml=$(xmldata);
}
);
var htmlTable = $('<table></table>');
$(xml).find('Response').each(function(){
var cid = $(this).find('cfgId').text();
alert(cid+", "+cfgid);
if(cid==cfgid) {
// Now grab the entitiy string
var newXmlString = $(xml).find('recommendations').text();
// Convert the entities to HTML and return a jQuery object
var newXml = $("<div/>").html(newXmlString);
// NOW we can get at the inner XML
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.append('<tr><td>RuleName:'+rulename+'</td><td>RuleResult: '+ruleactionresult+'</td></tr>');
}
}
});
我在代码后面加入了htmlTable
,格式如下:'<div class="block">'+htmlTable+'</div>'
但是没有任何弹出提示
<
和>
分别转换为<
和>
,这样它就成为XML对象,我就可以解析它了。 - AabinGunz