Latest web development tutorials

XML-DOM-Parser-Fehler

Wenn Firefox-Parser einen Fehler feststellt, wird es ein XML-Dokument laden, die den Fehler enthält.


Parser-Fehler in Firefox

Wenn Sie versuchen, ein XML-Dokument zu öffnen, ist es ein Parser-Fehler (Parser-Fehler) auftreten können.

Und Internet-Explorer-Browser, wenn Firefox ein Fehler aufgetreten ist, lädt es das XML-Dokument, das den Fehler enthält beschrieben.

XML-Fehler Document-Root-Name ist "ParserError". Dies wird verwendet, um Fehler zu überprüfen.


XML-Fehler (XML Error)

Im folgenden Code, werden wir der Parser eine schlechte Form von XML-Dokumenten zu laden.

(Sie können in unserem XML - Tutorial Lesen Sie mehr über die gute und effektive Form von XML.)

Beispiele

xmlDoc=document.implementation.createDocument("","",null);
xmlDoc.async=false;
xmlDoc.load("note_error.xml");

if (xmlDoc.documentElement.nodeName=="parsererror")
{
errStr=xmlDoc.documentElement.childNodes[0].nodeValue;
errStr=errStr.replace(/</g, "&lt;");
document.write(errStr);
}
else
{
document.write("XML is valid");
}

Versuchen »

Siehe XML - Datei: note_error.xml

Beispiele erläutern:

  1. Laden von XML-Datei
  2. Überprüfen Sie, ob der Wurzelknoten Name ist "ParserError"
  3. Die Fehler String-Variable loading "errstr"
  4. Bevor der Fehler-String in HTML geschrieben ist, das Zeichen "<" ersetzt durch "& lt;"

Hinweis: In der Tat, nur Internet Explorer Ihre XML mit DTD überprüfen, wird Firefox nicht.


Cross-Browser-Fehlerprüfung

Hier schaffen wir eine XML-Loader-Funktion, überprüfen Parser-Fehler in Internet Explorer und Firefox:

Beispiele

function loadXMLDocErr(dname)
{
try //Internet Explorer
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.load(dname);

if (xmlDoc.parseError.errorCode != 0)
{
alert("Error in line " + xmlDoc.parseError.line +
" position " + xmlDoc.parseError.linePos +
"nError Code: " + xmlDoc.parseError.errorCode +
"nError Reason: " + xmlDoc.parseError.reason +
"Error Line: " + xmlDoc.parseError.srcText);
return(null);
}
}
catch(e)
{
try //Firefox
{
xmlDoc=document.implementation.createDocument("","",null);
xmlDoc.async=false;
xmlDoc.load(dname);
if (xmlDoc.documentElement.nodeName=="parsererror")
{
alert(xmlDoc.documentElement.childNodes[0].nodeValue);
return(null);
}
}
catch(e) {alert(e.message)}
}
try
{
return(xmlDoc);
}
catch(e) {alert(e.message)}
return(null);
}

Versuchen »

Siehe XML - Datei: note_error.xml

Beispiele erläutern - Internet Explorer:

  1. Die erste Zeile erstellt ein leeres Microsoft XML-Dokument-Objekt.
  2. Die zweite Zeile wird asynchrone Laden aus, um sicherzustellen, dass der Parser nicht die Ausführung des Skripts fortgesetzt, bevor das Dokument vollständig geladen ist.
  3. Die dritte Zeile zeigt den Parser ein XML-Dokument namens "note_error.xml" von zu laden.
  4. Wenn ErrorCode- Eigenschaft parseError Objekt und "0" ist anders, und die falsche Ausfahrt zu erinnern.
  5. Wenn Error-Code-Eigenschaft auf "0" und gibt ein XML-Dokument.

Beispiele erklären - Firefox:

  1. Die erste Zeile erstellt ein leeres XML-Dokument-Objekt.
  2. Die zweite Zeile wird asynchrone Laden aus, um sicherzustellen, dass der Parser nicht die Ausführung des Skripts fortgesetzt, bevor das Dokument vollständig geladen ist.
  3. Die dritte Zeile zeigt den Parser ein XML-Dokument namens "note_error.xml" von zu laden.
  4. Wenn die Rückgabe des Dokuments ist ein falsches Dokument, erinnert Fehler und beenden.
  5. Wenn nicht, gibt sie ein XML-Dokument.