Latest web development tutorials

XML error parser DOM

Ketika Firefox parser menemukan kesalahan, itu akan memuat dokumen XML yang berisi kesalahan.


error parser di Firefox

Ketika Anda mencoba untuk membuka dokumen XML, itu adalah kesalahan parser (parser-error) dapat terjadi.

Dan Internet Explorer browser, jika Firefox menemukan kesalahan, itu beban dokumen XML yang berisi kesalahan dijelaskan.

error XML nama akar dokumen adalah "parsererror". Ini digunakan untuk memeriksa kesalahan.


error XML (XML Kesalahan)

Dalam kode berikut, kami akan membiarkan parser untuk memuat bentuk buruk dari dokumen XML.

(Anda dapat di kami tutorial XML Baca lebih lanjut tentang bentuk yang baik dan efektif dari XML.)

contoh

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

Coba »

Lihat file XML: note_error.xml

Contoh menjelaskan:

  1. file XML Memuat
  2. Periksa apakah nama simpul akar adalah "parsererror"
  3. Kesalahan variabel string memuat "errStr"
  4. Sebelum string kesalahan ditulis dalam HTML, "<" karakter diganti dengan "& lt;"

Catatan: Pada kenyataannya, hanya Internet Explorer akan memeriksa XML Anda dengan DTD, Firefox tidak akan.


pengecekan error lintas-browser

Di sini, kita membuat fungsi XML loader, periksa kesalahan parser di Internet Explorer dan Firefox:

contoh

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

Coba »

Lihat file XML: note_error.xml

Contoh menjelaskan - Internet Explorer:

  1. Baris pertama menciptakan Microsoft XML objek dokumen kosong.
  2. Baris kedua mati memuat asynchronous, untuk memastikan bahwa parser tidak akan melanjutkan eksekusi dari script sebelum dokumen tersebut terisi penuh.
  3. Baris ketiga menceritakan parser untuk memuat dokumen XML yang disebut "note_error.xml" dari.
  4. Jika properti ErrorCode parseError objek dan "0" berbeda, dan untuk mengingatkan keluar salah.
  5. Jika properti ErrorCode ke "0", dan mengembalikan dokumen XML.

Contoh menjelaskan - Firefox:

  1. Baris pertama menciptakan objek dokumen XML yang kosong.
  2. Baris kedua mati memuat asynchronous, untuk memastikan bahwa parser tidak akan melanjutkan eksekusi dari script sebelum dokumen tersebut terisi penuh.
  3. Baris ketiga menceritakan parser untuk memuat dokumen XML yang disebut "note_error.xml" dari.
  4. Jika pengembalian dokumen adalah dokumen palsu, mengingatkan kesalahan dan keluar.
  5. Jika tidak, ia mengembalikan dokumen XML.