首先,要写一个方法,把xml字符串转化成dom对象

//将字符串转化成dom对象;string转换为xml
function stringToXml(xmlString) {
var xmlDoc;
if (typeof xmlString == "string") {
//FF
if (document.implementation.createDocument) {
var parser = new DOMParser();
xmlDoc = parser.parseFromString(xmlString, "text/xml");
} else if (window.ActiveXObject) {
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.loadXML(xmlString);
}
}
else {
xmlDoc = xmlString;
}
return xmlDoc;
}

例如:xmlString = "<?xml version="1.0" encoding="UTF-8"?><messages><business><businessdata><result><report><![CDATA[校验报告HTML,内容保存成html文件后可直接查看]]></report></result></businessdata></business></messages>"

那么如何读取report节点下的值呢? 必须用如下的方法读取,因为含有<![CDATA[ ]]>

var report= stringToXmlxmlString ).getElementsByTagName("report")[0].childNodes[0].nodeValue;

或者 report= stringToXmlxmlString ).getElementsByTagName("report")[0].childNodes[0].data;

如果没有<![CDATA[ ]]>

xmlString = "<?xml version="1.0" encoding="UTF-8"?><messages><result><report>校验报告HTML,内容保存成html文件后可直接查看</report></result></messages>"

var report = $(xmlString).find("report").text();就可以读取值

如果要在HTML页面上显示xml内容,只需要把xml字符串的内容放入到 标签<xmp></xmp>即可

05-11 14:56