가능한 중복 : 나는 다음과 같은 구문을 사용하여 XML 파일이
JAVA SAX parser split calls to characters()색소폰 문자 깨는 요소 떨어져
:
<tag ...>
a bunch of text here
<tag ...>
어떤 닫는 태그가 없습니다 tag
입니다. 두 태그 사이의 텍스트를 가져와 List<String>
에 저장하고 characters()
에 저장합니다. 대부분의 경우 작동하지만 일부 XML 파일에서는 텍스트를 두 개로 분리하는 줄 종결 자 또는 기타를 읽습니다. 단일 항목을 저장하는 대신 "여기에 텍스트 묶음"이라는 두 개의 항목이 있습니다. "한 무리"와 "여기에 텍스트"가 있습니다. 차이점은 다른 모든 항목과 달리 "한 묶음"뒤에 또는 "여기 텍스트"앞에 줄 바꿈을 저장하지 않는다는 것입니다.
이 문제를 해결해야하지만 어떻게해야할지 모릅니다. 도와 주셔서 감사합니다.
방금 다른 게시물에서이 "기능"에 대해 읽었습니다. 이 문제를 어떻게 해결할 수 있습니까? 'startElement' 호출 다음에'List'에 텍스트를 추가하기 만하면됩니까? 또는 다른 청크가 다른 'startElement' 후에 호출 될 수 있습니까? "모두 찾았습니다"라는 것을 어떻게 알 수 있습니까? –
cesar
문자열 버퍼에 읽은 문자를 저장할 수 있습니다. 당신은 그들이 요소의 끝을 찾을 때 모두 발견된다는 것을 알 수 있습니다. –
@anonymous : oops는 다음 요소의 시작 부분을 발견했을 때 모두 발견된다는 것을 의미합니다. 태그는 중첩되어 있으므로 –