Latest web development tutorials

XML DOM 파서 오류

파이어 폭스 파서 오류가 발생하면, 오류를 포함하는 XML 문서를로드 할 것이다.


파이어 폭스에서 파서 오류

당신은 XML 문서를 열려고하면 파서 오류 (파서 오류)가 발생할 수 있습니다.

파이어 폭스 오류가 발생하는 경우 인터넷 익스플로러 브라우저, 그것은 설명한 오류가 포함 된 XML 문서를로드합니다.

XML 오류 문서 루트 이름은 "parsererror"입니다. 이것은 오류를 확인하는 데 사용됩니다.


XML 오류 (XML 오류)

다음 코드에서, 우리는 파서가 XML 문서의 나쁜 양식을로드 할 수있게된다.

(당신은 우리에 수 있습니다 XML 자습서 XML의 좋은 효과적인 형태에 대해 자세히 알아보세요.)

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

»시도

XML 파일을 참조하십시오 : note_error.xml을

예 설명 :

  1. 로드 XML 파일
  2. 루트 노드 이름이 "parsererror"가 있는지 확인
  3. 오류 문자열 변수로드 "errstr을"
  4. 오류 문자열이 HTML로 작성되기 전에, "<"문자로 대체 "& LT;"

참고 : 사실 만 Internet Explorer가 DTD와 XML을 확인합니다, 파이어 폭스하지 않습니다.


크로스 브라우저 오류 검사

여기, 우리는 XML 로더 기능을 만들 Internet Explorer 및 Firefox에서 파서 오류를 확인 :

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

»시도

XML 파일을 참조하십시오 : note_error.xml을

예 설명 - 인터넷 익스플로러를 :

  1. 첫 번째 줄은 빈 마이크로 소프트 XML 문서 객체를 생성합니다.
  2. 두 번째 줄은 문서가 완전히로드되기 전에 파서가 스크립트의 실행을 계속하지 않도록하기 위해, 비동기 로딩을 해제합니다.
  3. 세 번째 줄의 "note_error.xml"라는 XML 문서를로드하는 파서를 알려줍니다.
  4. ErrorCode가 속성 parseError 개체와 "0"과 다른 경우, 잘못된 출구를 생각 나게합니다.
  5. ErrorCode가 속성에 "0"과는 XML 문서를 반환하는 경우.

예 설명 - 파이어 폭스 :

  1. 첫 번째 줄은 빈 XML 문서 객체를 생성합니다.
  2. 두 번째 줄은 문서가 완전히로드되기 전에 파서가 스크립트의 실행을 계속하지 않도록하기 위해, 비동기 로딩을 해제합니다.
  3. 세 번째 줄의 "note_error.xml"라는 XML 문서를로드하는 파서를 알려줍니다.
  4. 문서의 복귀는 오류 및 종료를 알리는 허위 문서 인 경우.
  5. 그렇지 않은 경우에는 XML 문서를 반환한다.