나는 각 회사를 xml 파일의 테이블에 추가해야하는 기업 목록이있는 100MB 이상의 큰 파일을 가질 수있는 요구 사항이 있습니다.큰 XML 파일을 읽기 위해 SAX와 STAX 중 어느 것을 선택해야합니까?
SAX 파서를 사용하려고 생각했지만 stax 파서를 사용하려고 생각했습니다. 누군가가 내가 사용해야하는 것을 알 수 있도록 도와 줄 수 있습니까?
들으
나는 각 회사를 xml 파일의 테이블에 추가해야하는 기업 목록이있는 100MB 이상의 큰 파일을 가질 수있는 요구 사항이 있습니다.큰 XML 파일을 읽기 위해 SAX와 STAX 중 어느 것을 선택해야합니까?
SAX 파서를 사용하려고 생각했지만 stax 파서를 사용하려고 생각했습니다. 누군가가 내가 사용해야하는 것을 알 수 있도록 도와 줄 수 있습니까?
들으
StAX를 훨씬 더 쉽게 API를 사용하는 방법이있다, 그래서 그것이 더 나은 선택이라고 생각합니다. SAX에는 낮은 수준의 푸시 API가 있으며 사용하기에 좋지 않습니다 (예 : char[]
). StAX에는 pull API를 사용하는 것이 훨씬 낫습니다.
또 다른 장점 : StAX를 사용하면 전체 문서를 읽지 않아도된다면 필요한 작업을 중단 할 수 있습니다.
Java XML 구문 분석 API의 꽤 오래된 비교가 있습니다. here입니다.
StAX를 사용하면 가장 최근에 구문 분석 된 레코드로만 메모리에 보관되는 데이터의 양을 최소화 할 수 있습니다. 레코드를 테이블에 삽입하면 더 이상 메모리에 저장하지 않아도됩니다.
SAX를 사용하는 경우 레코드를 테이블에 삽입하기 전에 전체 XML 내용을 메모리로 구문 분석해야합니다. 레코드를 닫는 요소를 만났을 때 삽입하는 것이 가능할 수도 있지만, SAX에서는 StAX보다 더 복잡합니다.
STAX는 SAX (특히 이벤트 기반 API)보다 훨씬 쉬운 API입니다. – jtahlborn