을 허용합니다 :구성의 Xerces SAX 파서는 잘못 생성 된 XML 문서를 구문 분석 할 때 나는이 오류를 얻고있는 XML 구문 오류
org.xml.sax.SAXParseException: The value of attribute "bar" associated with an element type "foo" must not contain the '<' character.
내가 문제를 일으키는 것을 알고있다. 그것은이 라인이다 : 그것은 있었어야
<foo bar="x<y">42</foo>
<foo bar="x<y">42</foo>
나는이 유효한 XML이 아니라, 내 코드를 다운로드하고 무인 유사한 파일을 구문 분석하고 정치적 이유가 수도하는 것을 알고 특히 다른 프로그램이 파일을 읽고이 오류를 허용 할 때 공급자에게 오류있는 프로그램을 수정하도록 설득 할 수 없습니다.
Xerces를 허용하도록 구성 할 수있는 방법이 있습니까? 현재 치명적 오류로 취급합니다. ErrorHandler
을 구현하면 문서의 나머지 부분이 파싱되지 않기 때문에 만족스럽지 않습니다.
또는이 오류를 허용하도록 구성 할 수있는 다른 스트림 기반 파서를 제안 할 수 있습니까? 이러한 문서가 수백 메가 바이트로 실행되므로 DOM 파서를 사용할 수 없습니다.
이것은 정치적인 문제입니다. 기술적 인 것이 아니라 정치적인 해결책이 필요합니다. –
Xerces에서 허용하지 않을 수도 있지만 jsoup (https://jsoup.org/)와 같은 대체 라이브러리가이 경우에 더 적합 할 수 있습니다. 그것은 원래 HTML 용으로 설계된 것처럼 보이지만 버그가있는 XML에서 데이터를 성공적으로 읽는 데 사용했습니다. http://stackoverflow.com/questions/9886531/how-to-parse-xml-with-jsoup –