2012-04-16 4 views
3

레거시 JavaME 프로젝트에서 kXML2를 사용하고 있습니다. 일부 속성에 인코딩 된 엔터티가 포함 된 XML이 전송됩니다. 내가 전화와 그 속성 값을 검색 할 때 :XmlPullParserException 엔티티가 포함 된 구문 분석 속성

parser.getAttributeValue 

을 그것은 예외가 발생합니다 :이 파서의 최신 버전을 다운로드

XmlPullParserException: unresolved 

을,하지만 여전히이 동작을 보여줍니다.

XML에서 문제가있는 줄을 제거하면 오류가 없습니다.

parser.setFeature(KXmlParser.FEATURE_PROCESS_DOCDECL, true); 

그러나이 구현은 그 라인이라고 예외가 발생합니다 :이 속성을 설정하지 않는 한

파서는, 속성의 실체를 해독해야합니다

답변

2

이 좋아, 여기에 무슨 일이 일어나고있는 것입니다. 알았어, 그래서 파서 소스 코드를 디버깅했는데이 풀 - 파서 구현은별로 공통적이지 않은 엔티티에 문제가 있다는 것을 알았다. 그것이 작동하는

그래서 나는이 같은, 내 자신의 "이상한"기관과 파서 엔티티 교체 맵을 부풀려해야합니다

parser.defineEntityReplacementText("Ntilde", "Ñ"); 

그리고 모든 것이 잘 작동합니다.

관련 문제