PULL과 SAX는 모두 이벤트를 기반으로 하지만 둘 사이의 가장 중요한 차이점은 다음과 같습니다.
SAX는 PULL이 아닌 "PUSH"로 간주될 수 있습니다. Parser는 특정 이벤트 소스를 발견할 때 처리를 위해 데이터를 콜백 함수 에 전달하기 때문에 데이터는 사용자에게 "푸시"되는 반면, PULL 메소드는 이벤트 소스를 발견할 때 사용됩니다. 특정 이벤트. 사용자가 Parser에서 관심 있는 내용을 얻으면 데이터가 "풀려지는" 느낌을 받습니다.
또 다른 차이점은 PULL 구문 분석 프로세스 중에(while 루프 에서) 루프를 종료할 수 있지만 SAX 프로세스에서는 구문 분석이 시작되면 분석을 완료합니다.
추가로 약간의 확장:
현재 두 가지 주요 구문 분석 및 생성 원칙이 있습니다. 하나는 클래스 이름, 속성 이름 및 기타 정보를 리플렉션을 통해 일치시키는 것이고, 다른 하나는 JVM의 바이트 코드를 직접 사용하여 작동하는 것입니다. 이 두 가지 방법의 효율성은 당연히 바이너리 바이트 코드가 더 효율적입니다.
위 내용은 XML PULL과 PUSH 기술의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!