2012-03-21 102 views
0

我有,其內容是XML解析在Firefox不工作

<?xml version="1.0" encoding="UTF-8"?> 

<ReturnMessage> 
<root>ReturnMessage</root> 
<cancelMessage>Request cancelled. /cancelMessage> 
<confirmMessage>Click 'Create Document' to continue.</confirmMessage> 
</ReturnMessage> 

我加載像這樣

var result = responseText; 
if (document.implementation && document.implementation.createDocument) 
{ 
    alert("firefox"); 
    xml=document.implementation.createDocument("","",null); 
    xml.load(result); 
} 

我的XML時,執行下面的代碼,XML文件

var cnfmMsgCnt = xml.getElementsByTagName("confirmMessage"); 
alert(cnfmMsgCnt.lenght); 

它警報0是Firefox。

var displayMsg = xml.getElementsByTagName("confirmMessage").item(0).text 

也不會在FF中提供任何輸出。

它在IE中非常完美,但它不適用於Firefox。

+0

請注意四個空間縮進代碼格式化是多麼容易和更清潔,以讀取和寫入。檢查源代碼,看看我是如何做到的... – sarnold 2012-03-21 22:41:13

回答

1

方法load()將文件名作爲參數,而不是XML字符串。見https://developer.mozilla.org/en/DOM/document.load(更規範:W3C DOM Level 3 Load & Save module

你可能想在這裏解釋什麼https://developer.mozilla.org/en/Parsing_and_serializing_XML

var sMyString = "<a id=\"a\"><b id=\"b\">hey!<\/b><\/a>"; 
var oParser = new DOMParser(); 
var oDOM = oParser.parseFromString(sMyString, "text/xml"); 
+0

非常感謝。它現在正在工作,也學習了加載XML – Tinkerbel 2012-03-22 09:19:16