2012-03-15 2 views
0

Xerces 파서를 사용하는 도구를 사용하여 Visual Studio를 사용하여 만든 XML 파일을 구문 분석하려고했지만 "프롤로그에서 허용되지 않는 내용"오류가 발생했습니다.Xml 구문 분석 - 고유 오류 상황

메모장 + + 같은 다른 편집기를 사용하여 XML 파일을 만들고 위에서 만든 것과 동일한 내용을 가지고있을 때이 오류가 발생하지 않습니다.

무엇이 문제 일 수 있다고 생각하십니까? 이것은 반복되는 질문이 아님을 이해할 수 있습니다.

수정 그래서 문제를 발견했습니다. 왜냐하면 내가 사용하는 도구가 BOM을 파일 시작 부분에서 처리 할 수 ​​없기 때문입니다.

+0

온라인으로 파일을 게시 할 수 있습니까? –

+0

\t <노드 키 = "TEMP1"값 = "어떤 값"/> \t <노드 키 = "TEMP2"값 = "일부 값 "/> \t
이것은 파일입니다. – hari

+0

아니요, 파일 자체를 게시해야합니다. 그렇지 않으면 인코딩 정보가 손실됩니다. –

답변

1

파일은 UTF-8 byte-order mark으로 시작합니다. XML specifications 문서는 BOM으로 시작될 수 있으므로 괜찮을 것이라고 말합니다. 이 도구가 이 아니었던 이전 버전의 Xerces를 사용하는 것이 가능합니까? BOM에 대처할 수 있습니까? 그 외의 파일은 나에게 잘 들립니다.

소스 코드가있는 도구입니까? 당신은 문제를 보여주고 그것을 파싱하는데 실패한 짧지 만 완전한 프로그램을 만들 수 있습니까? Xerces의 최신 버전을 사용해 볼 수 있습니까?

+0

이것은 내가 얻는 오류입니다 .. 그 파서의 오래된 버전 때문인 것 같아요 .. AddTestOld.xml에서 XML 구문 분석 오류가 발생했습니다. 자세한 예외 정보는 다음과 같습니다. tdm.lib.ParseException : 내용이 프롤로그에서 허용되지 않습니다. tdm.lib.ParseException : 내용이 프롤로그에서 허용되지 않습니다. tdm.tool.TreeDiffMerge.main (알 수없는 소스) – hari

+0

야에서 tdm.tool.TreeDiffMerge.merge (알 수없는 소스) 에서 tdm.lib.XMLParser.parse (알 수없는 소스) 에서 나는이 도구의 src 코드가 있습니다. 나는 그것을 수정하려고 노력 중이다. 그래서 기본적으로 구문 분석 pblm .. 도구는 ANSI 형식만을 구문 분석하고 이후 VTF는 xml을 UTF-8로 만듭니다. 도구에서 구문 분석 할 수 없습니다. – hari

+0

@hari : 도구가 인코딩을 지정하는 이유는 무엇입니까? 'InputStream'을주고 Xerces가 인코딩을 이해하도록해야합니다. –

0

Visual Studio로 만든 파일의 인코딩을 확인하고 문제가되어야하는 메모장 파일 인코딩과 비교하십시오.