首先,要寫一個方法,把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>即可