간단히 정리하는 에러로그

The processing instruction target matching "[xX mM lL]" is not allowed / Error #1096 : XML Parser failure / content is not allowed in prolog xml /XML 파서 에러

냠냠:) 2021. 4. 28. 22:25

개발서버에서 받아온 XML 파일들을 로컬로 받아와 실행시키는데, 해당 XML 파일의 내용을 프로그램이 사용하려 하면

제목과 같은 에러를 내뱉었다.

 

구글 검색을 통해 XML을 파싱 하는 과정에서 BOM(Byte Order Mark)가 포함된 UTF-8 인코딩 파일이 문제라는 것을

알게 되었다.

 

[해결 방법]

1. xml 파일 맨 상단에 공백이 있는지 체크

2. notepad++에 해당 파일의 내용 복사 후 아래와 같이 저장하기.

출처 : https://github.com/notepad-plus-plus/notepad-plus-plus/issues/4040

 

이유 : BOM은 인코딩 된 문서 첫머리에 사용되어 정확한 인코딩 방식을 알려주는 역할을 하는데 이 2~3바이트의 문자열은 첫 부분에 보이지 않게 존재하기 때문에 정상적인 parsing 과정에서 prolog 에러 문제를 일으키는 것.

 

 

 

 

 

m.blog.naver.com/PostView.nhn?blogId=genycho&logNo=60177204229&proxyReferer=https:%2F%2Fwww.google.com%2F

blog.wystan.net/2007/08/18/bom-byte-order-mark-problem

반응형