我使用java脚本函数将JSON转换为XML String。我甚至能够成功地做到这一点。但是当我尝试用3种不同的方法查看它时,我在.innerHTML中得到不同的输出,当comapred到alert和console.log()时 这种差异的原因是什么?我做的有什么不对。
这是我的代码:
HTML:
<div id="show"></div>
CSS:
#show{
width:100%;
height:200px;
background:#000;
color:#fff;
}
JS
function objectToXml(obj) {
var xml = '';
for (var prop in obj) {
if (!obj.hasOwnProperty(prop)) {
continue;
}
if (obj[prop] == undefined)
continue;
xml += "<" + prop + ">";
if (typeof obj[prop] == "object")
xml += objectToXml(new Object(obj[prop]));
else
xml += obj[prop];
xml += "</" + prop + ">";
}
return xml;
}
var myJson={"id":1,"name":"Albert","dob":"2011-02-19","gender":"male","email":"albert@rediffmail.com","language":"English"}
var xmlString = objectToXml(myJson);
document.getElementById("show").innerHTML=xmlString;
alert(xmlString);
console.log(xmlString);
当使用.innerHTML时,我真的不明白为什么不打印XML字符串的原因。