2012-03-21 4 views
0

У меня есть XML-файл, содержание которогоXML синтаксический анализ в светлячок не работает

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

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

загружаю мой XML как этот

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

Когда выполнить код ниже

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

его предупреждает, что 0 - firefox.

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

также не обеспечивает выход в FF.

Он отлично работает в IE, но он не работает в Firefox.

+0

Пожалуйста, обратите внимание, насколько проще и чище форматирование четыре-пространства-отступа кода для чтения и записи. Проверьте исходный код, чтобы узнать, как я сделал то, что сделал ... – sarnold

ответ

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