Błąd XML parser DOM
Gdy Firefox parser napotka błąd, to załadować dokument XML, który zawiera błąd.
Błąd składni w Firefoksie
Podczas próby otwarcia dokumentu XML, to może wystąpić błąd składni (parser error).
I przeglądarek Internet Explorer, Firefox, jeśli napotka błąd, ładuje dokument XML zawierający błąd opisany.
Błąd XML nazwa głównego dokumentu jest "parsererror". Służy do sprawdzania błędów.
Błąd XML (XML Error)
W poniższym kodzie, niech będzie parser załadować złą formę dokumentów XML.
(Można w naszym poradniku XML Więcej o dobrą i skuteczną formę XML).
Przykłady
xmlDoc.async=false;
xmlDoc.load("note_error.xml");
if (xmlDoc.documentElement.nodeName=="parsererror")
{
errStr=xmlDoc.documentElement.childNodes[0].nodeValue;
errStr=errStr.replace(/</g, "<");
document.write(errStr);
}
else
{
document.write("XML is valid");
}
Spróbuj »
Zobacz plik XML: note_error.xml
Przykłady wyjaśnić:
- Ładowanie pliku XML
- Sprawdź, czy nazwa węzła głównego jest "parsererror"
- Błąd Ciąg zmiennej loading "errstr"
- Przed ciąg błędu jest napisane w HTML, znak "<" zastępuje się wyrazami "& lt;"
Uwaga: W rzeczywistości, tylko Internet Explorer sprawdzi XML z DTD, Firefox nie będzie.
sprawdzanie błędów cross-browser
Tutaj możemy utworzyć funkcję ładowarka XML parser sprawdzić błąd w Internet Explorer i Firefox:
Przykłady
{
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);
}
Spróbuj »
Zobacz plik XML: note_error.xml
Przykłady wyjaśnić - Internet Explorer:
- Pierwsza linia tworzy pusty obiekt dokumentu programu Microsoft XML.
- Druga linia wyłącza asynchroniczne ładowanie, aby upewnić się, że parser nie będzie kontynuować wykonywanie skryptu, zanim dokument zostanie w pełni załadowany.
- Trzecia linia mówi parser, aby załadować dokument XML o nazwie "note_error.xml" z.
- Jeżeli przedmiot nieruchomość ErrorCode parseError i "0" jest inny, i przypomnieć niewłaściwy zjazd.
- Jeżeli nieruchomość ErrorCode na "0", i zwraca dokument XML.
Przykłady wyjaśnić - Firefox:
- Pierwsza linia tworzy pusty obiekt dokumentu XML.
- Druga linia wyłącza asynchroniczne ładowanie, aby upewnić się, że parser nie będzie kontynuować wykonywanie skryptu, zanim dokument zostanie w pełni załadowany.
- Trzecia linia mówi parser, aby załadować dokument XML o nazwie "note_error.xml" z.
- Jeśli zwrot dokumentu jest fałszywym dokumentem, przypominając błąd i kończy działanie.
- Jeśli nie, to zwraca dokument XML.