2013-10-12 2 views
0

을 읽을 때 버그, 나는 그것을 2SAX 파서; 특수 문자 내 XML 파일에서

String 1: Universit 
String 2: ät Trier 
로 문자열을 분할 할 것을 깨달았다, 나는 SAX 파서를 실행하면 특수 문자

<journal>Universit&auml;t Trier</journal> 

이있는 태그가

그러나 데이터베이스에 제대로 저장하려면 전체 String으로 내용을 읽어야합니다. 나는 2 개의 문자열로 나눌 수 없다. SAX Parser가 어째서 이것을하는 이유는 무엇입니까?

다음 방법이이 버그가 아닙니다 읽기

public void characters(char ch[], int start, int length) throws SAXException 
{ 
         ... 
} 
+0

http://stackoverflow.com/questions/13336140/sax-parsing-and-special-characters 및 http://stackoverflow.com/questions/8770097/how-to-make-saxparser-ignore-escape 코드 – Dan

+0

감사합니다. 이제 작동합니다 – user2741620

+1

답변을 수락으로 표시 할 수 있습니까? 또한 다른 게시물을 정리하고 후속 조치를 제공해야합니다. TIA – lkuty

답변

3

을 수행하는 SAX 파서의 일부입니다.

이것은 SAX가 설계된 방식이며, 혼합 된 컨텐츠를 다룰 수있는 가능성을 갖기 위해서는이 방법이 필요합니다.

혼합 된 내용이 없으면 실제로는 매우 간단합니다.

당신이해야 할 일은 SAX ContentHandler 인터페이스의 구현에서 조각을 재결합하는 것입니다.

일반적으로이 방법은 characters에 추가로 상기 방법에서 endElementString으로 변환하는 상기 방법에있어서 startElementStringBuilderStringBuffer 또는 필드를 초기화하는 수단.