2012-03-18 20 views
3

的innerXml或outerXml當使用IE瀏覽器,下面的作品 -我如何在JavaScript和FireFox

alert("XML Root IE: " + xmlDoc.documentElement.tagName); // ok 
alert("Xml: " + xmlDoc.documentElement.xml);    // ok 

但對於Firefox的功能XML,innerxml,outerxml,都是不確定的。

alert("tagName: " + xmlDoc.documentElement.tagName); // ok 
    alert("Xml Content: " + xmlDoc.documentElement.xml); // undefined 
    alert("Xml innerxml: " + xmlDoc.documentElement.innerxml); // undefined 
    alert("Xml outerxml: " + xmlDoc.documentElement.outerxml); // undefined 

如何獲取FireFox上的實際XML? (我知道我正確讀取XML,因爲 「documentElement.tagName」 返回上IE和FF正確)

感謝,

Atara

編輯:下面是相關FF代碼:

var xmlDoc; 

function fLoadXml() { 
    // alert("fLoadXml()"); 
    if (window.ActiveXObject) { // IE 
    fLoadXmlIE() 
    } else if (document.implementation && document.implementation.createDocument) { // FF 
    fLoadXmlFF() 
    } 
} 

function fLoadXmlFF() { 
    // alert("fLoadXmlFF()"); 
    xmlDoc = document.implementation.createDocument("","",null) ; 
    xmlDoc.async = false; 
    xmlDoc.onload = fReadXmlFF; 
    var loaded = xmlDoc.load("myFile.xml"); 
    alert("loaded: " + loaded); 
} 

function fReadXmlFF() { 
    alert("fReadXmlFF()"); 
    alert("tagName: " + xmlDoc.documentElement.tagName); 
    alert("Xml Content: " + xmlDoc.documentElement.xml); // undefined 
    alert("Xml innerxml: " + xmlDoc.documentElement.innerxml); // undefined 
    alert("Xml outerxml: " + xmlDoc.documentElement.outerxml); // undefined 

} 
+0

是'xmlDoc',如果它來自什麼類型的?你能顯示一些代碼嗎? – 2012-03-18 17:08:06

+0

你說得對,我加了。 – Atara 2012-03-18 17:12:23

回答

7

找到它 - http://www.hiteshagrawal.com/javascript/convert-xml-document-to-string-in-javascript

解決方案:

function fReadXmlFF() { 
    alert("tagName: " + xmlDoc.documentElement.tagName); // ok 
    strXml = (new XMLSerializer()).serializeToString(xmlDoc); // ok 
    . . . 
+1

+1在FF和Chrome中非常有用。僅供參考 - 這在IE中不起作用。如果您想提供跨瀏覽器兼容性,您可以測試ActiveXObject是否已定義(如果爲true,則使用'.xml')。 – JDB 2012-09-26 14:35:33

1

XML僅僅是一個IE屬性,嘗試其他的東西一樣的childNodes和的nodeValue,看看這裏:http://www.w3schools.com/dom/dom_document.asp

+8

請考慮[避免w3schools.com](http://w3fools.com)。 – Pointy 2012-03-18 17:15:39

+0

這些函數都沒有返回整個XML作爲字符串。我錯過了什麼? – Atara 2012-03-18 17:15:52

+0

我認爲你需要改變你的代碼邏輯,讓它以另一種方式,對不起... – 2012-03-18 17:19:35