2009-09-10 2 views
2

XML 문서를 구문 분석하고로드하려고하지만 XmlObject를 확장하는 클래스에서 구문 분석 메서드를 호출 할 때이 예외가 발생합니다. 불행하게도, 어떤 요소가 예상치 못한 것인지 전혀 알 수 없으며, 이것이 내 문제입니다."Unexpected element : CDATA"메시지가있는 org.apache.xmlbeans.XmlException은 무엇을 의미합니까?

코드를 공유 할 수 없지만 필요한 경우 자세한 정보를 제공 할 수 있습니다.

+0

구글의 모두 당신이 그들 중 하나가 조명 찾았어요 ..이 적중있다? – skaffman

+0

"코드를 공유 할 수는 없지만 XML 문서 자체 또는 그 일부를 공유 할 수 있습니까? 아니면 XML 메모장과 같은 일반 XML 편집기에서 ok로 읽는 다른 XML 문서로 시도 할 수 있습니까? – mjv

+0

독점적 인 것들을 모두 공유 할 수는 없으며, XML 문서는 메모장에서 잘 열립니다. 형식이 올바르며 스키마에 대해 유효성을 검사합니다. –

답변

1

코드 또는 입력 데이터를 공유 할 수 없으므로 다음 접근 방식을 고려해 볼 수 있습니다. 그게 진단에 대한 이분법적인 접근 방법 인 입니다. 저는 두려워요. 실제로 그 일을 시작했을 것입니다 ...

입력 XML의 일부를 제거하여 시도해보십시오. XML 문서는 잘 형성되어 유효 할 수 있습니다 (파서의 설정에서 유효성이 필요한 경우). 당신이 유효성을 유지한다면, 이것은 스키마 (DTD 또는 기타)의 복사본을 변경해야 할 수도 있습니다. 커밋 앤드 트라이 접근법에서 권한 요소가 제거 될 수 있기 때문입니다 ... BTW, 오류 메시지는 기본 well-formedness 단언 문제가되는 검증 문제.

구문 분석기의 불만 사항을 유발하는 영역에 대한 특별한 예감이없는 한, 우리는 일반적으로 이전에 잘라내거나 다시 추가 한 부분의 절반 정도를 제거합니다 (또는 다시 작동 할 때 다시 추가).

파서가 전혀 작동하지 않는다는 것을 주장하기 위해 대부분 빈 파일을 사용하는 것으로 시작할 수도 있습니다 ... XML 입력 또는 파서에서 문제가 "우위로 나눌"아이디어가 다시 있습니다. ? (입력과 파서에서 두 가지 문제가있을 수 있다는 것을 기억하고 그러한 문제는 관련성이 없을 수도 있습니다 ...)

유감스럽게도 기본적인 진단 기술을 익히면 유창 할 것입니다.

+0

즉, "작동 할 때까지 물건을 삭제하십시오"...? – skaffman

+0

네. 그리고 작동이 시작될 때 sttart가 다시 추가됩니다. – mjv

1

parse() 메서드에 전달할 인수를 확인해야합니다. 문자열을 직접 파싱하거나 파일 또는 입력 스트림 (File/InputStream/String)을 직접 전달하는 경우 (파일/입력 스트림/문자열)