Xml.LoadData 문제가 있는 WiX 설치 프로그램에서 XML 구문 분석
WiX 설치 프로그램 내에서 XML을 구문 분석하려고 하면 "Data at the 루트 수준이 잘못되었습니다. 1행, 위치 1"이 발견되었습니다. 기본 XML에는 아래와 같이 유효한 구조가 포함되어 있습니다.
<?xml version="1.0" encoding="utf-8"?> <Errors></Errors>
문제는 숨겨진 문자로 인해 발생합니다. , XML 시작 부분에 나타나는 BOM(Byte Order Mark)일 가능성이 높습니다. 이 문자는 텍스트 편집기에 표시되지 않지만 XML 구문 분석을 방해할 수 있습니다.
이 문제를 해결하려면 BOM 문자를 확인하고 다음과 같은 경우 이를 제거하는 코드 조각 현재:
string _byteOrderMarkUtf8 = Encoding.UTF8.GetString(Encoding.UTF8.GetPreamble()); if (xml.StartsWith(_byteOrderMarkUtf8)) { xml = xml.Remove(0, _byteOrderMarkUtf8.Length); }
다른 사용자가 제안한 대체 접근 방식은 첫 번째 줄 전체를 제거하는 것입니다. 위의 것보다 덜 정확합니다 method.
결론
XML에서 보이지 않는 BOM 문자를 제거하면 구문 분석 오류를 해결할 수 있으므로 XML을 성공적으로 구문 분석하고 해당 내용을 처리할 수 있습니다.
위 내용은 WiX 설치 프로그램에서 XML을 구문 분석할 때 '루트 수준의 데이터가 유효하지 않습니다' 오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!