2017-02-23 33 views
0

我正在使用Java腳本函數將JSON轉換爲XML字符串。我甚至能夠成功地做到這一點。但是,當我試圖用3種不同的方法查看它時,在共同映射到alert和console.log()時,我在.innerHTML中獲得了不同的輸出。() 這種差異的原因是什麼?我在做什麼不對?。在顯示/渲染輸出方面,.innerHTML和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":"[email protected]","language":"English"} 
    var xmlString = objectToXml(myJson); 
    document.getElementById("show").innerHTML=xmlString; 
    alert(xmlString); 
    console.log(xmlString); 

我真的不明白爲什麼XML字符串在.in時不打印使用nerHTML。

這裏是一個JS FIDDLE

+1

'innerHTML'將*渲染* html的... –

回答

1

innerHTML呈現的HTML。

改爲使用innerText

請參閱更新小提琴:jsfiddle-link

+0

是的!我得到了不同。所以,當以HTML格式呈現時,基本上它就像其他HTML標籤一樣消除了開始和結束標籤。感謝Thanx。 – Venky

+1

是的,因爲基本上你可以使用自定義標籤,請參閱http://stackoverflow.com/questions/2802687/is-there-a-way-to-create-your-own-html-tag-in-html5 –

+0

在那裏,我明白這點! – Venky

相關問題