XML 파서: 텍스트 콘텐츠에서 잘못된 문자를 찾았습니다.

이 문서에서는 MSXML(Microsoft XML 파서)을 사용하여 특수 문자가 포함된 XML(Extensible Markup Language)을 구문 분석할 때 오류를 resolve 수 있습니다.

원래 제품 버전: .NET Framework
원래 KB 번호: 238833

증상

MSXML(Microsoft XML 파서)을 사용하여 특수 문자가 포함된 XML을 구문 분석하는 경우 파서는 첫 번째 특수 문자의 줄과 위치에 다음 오류 메시지를 보고할 수 있습니다.

잘못된 문자가 텍스트 콘텐츠에서 발견되었습니다.

원인

XML 문서는 적절한 문자 인코딩 구성표로 표시되지 않습니다.

해결 방법

  • XML 처리 명령에서 적절한 인코딩 구성표를 지정합니다.
  • XML 데이터를 적절한 UTF-8로 다시 인코딩합니다.

상태

이것은 의도적으로 설계된 동작입니다.

추가 정보

특수 문자는 악센트, 움라우트 또는 기타 분음 부호가 있는 라틴 문자와 같은 0x00(0x7F)의 표준 미국 표준 정보 교환(ASCII) 문자 집합 범위를 벗어난 모든 문자를 나타냅니다. XML 문서의 기본 인코딩 구성표는 UTF-8이며, 다른 표준 인코딩 스키마와 다르게 0x80 이상의 값으로 ASCII 문자를 인코딩합니다.

대부분의 경우 간단한 iso-8859-1 인코딩 체계를 사용하는 데이터로 작업하는 경우 이 문제가 표시됩니다. 이 경우 가장 빠른 솔루션은 일반적으로 해결 섹션 앞에 나열된 첫 번째 솔루션입니다. 예를 들어 다음 XML 선언을 사용합니다.

<?xml version="1.0" encoding="iso-8859-1" ?>
<rootelement>
    ...XML data...
</rootelement>

대신 숫자 엔터티 참조를 사용하여 각 문자를 인코딩할 수 있습니다. 예를 들어 특수 문자 á를 사용하고(10진수 버전) 또는 <test>&#x00E1;</test> (16진수 버전)를 사용할 <test> &#225;</test> 수 있습니다.