Latest web development tutorials

XML DOM erreur d'analyse

Lorsque Firefox analyseur rencontre une erreur, il va charger un document XML qui contient l'erreur.


erreur de Parser dans Firefox

Lorsque vous essayez d'ouvrir un document XML, il est une erreur d'analyse (parser-erreur) peut se produire.

Et les navigateurs Internet Explorer, Firefox se rencontre une erreur, il charge le document XML qui contient l'erreur décrite.

erreur XML nom document racine est "parsererror". Ceci est utilisé pour vérifier les erreurs.


erreur de XML (XML d'erreur)

Dans le code suivant, nous allons laisser l'analyseur pour charger une mauvaise forme de documents XML.

(Vous pouvez dans notre tutoriel XML En savoir plus sur la bonne et efficace sous forme de XML.)

Exemples

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");
}

Essayez »

Voir le fichier XML: note_error.xml

Exemples expliquent:

  1. fichier XML en cours de chargement
  2. Vérifiez si le nom du nœud racine est "parsererror"
  3. La chaîne d'erreur de chargement variable "errstr"
  4. Avant la chaîne d'erreur est écrit en HTML, le caractère "<" remplacé par "& lt;"

Remarque: En fait, seul Internet Explorer vérifiera votre XML avec DTD, Firefox ne sera pas.


Cross-navigateur contrôle d'erreur

Ici, nous créons une fonction XML de chargement, vérifier erreur d'analyse dans Internet Explorer et Firefox:

Exemples

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);
}

Essayez »

Voir le fichier XML: note_error.xml

Exemples expliquent - Internet Explorer:

  1. La première ligne crée un document Microsoft XML objet vide.
  2. La deuxième ligne désactive le chargement asynchrone, afin d'assurer que l'analyseur ne va pas continuer l'exécution du script avant que le document est entièrement chargé.
  3. La troisième ligne indique à l'analyseur pour charger un document XML appelé "note_error.xml" de.
  4. Si l'objet propriété ErrorCode parseError et "0" est différent, et de rappeler à la mauvaise sortie.
  5. Si la propriété ErrorCode à "0", et renvoie un document XML.

Exemples expliquent - Firefox:

  1. La première ligne crée un document XML objet vide.
  2. La deuxième ligne désactive le chargement asynchrone, afin d'assurer que l'analyseur ne va pas continuer l'exécution du script avant que le document est entièrement chargé.
  3. La troisième ligne indique à l'analyseur pour charger un document XML appelé "note_error.xml" de.
  4. Si le retour du document est un faux document, rappelant l'erreur et la sortie.
  5. Sinon, elle renvoie un document XML.