> Java > java지도 시간 > Java의 StAX와 SAX 파서 비교

Java의 StAX와 SAX 파서 비교

WBOY
풀어 주다: 2023-08-19 13:41:16
앞으로
1158명이 탐색했습니다.

Java의 StAX와 SAX 파서 비교

StAX와 SAX는 모두 XML 파서 API의 일종입니다. 여기서 API는 애플리케이션 프로그래밍 인터페이스를 의미하며 파서는 XML 문서의 내용을 원하는 형식으로 읽고 추출하는 데 사용됩니다. 및 SAX는 XML 문서를 읽는 데 사용됩니다.

API는 웹에서 실시간 정보를 마이그레이션하는 현대적인 방법입니다. 이 기사에서는 Java의 StAX와 SAX Parser의 차이점에 대해 설명합니다.

StAX 대 SAX 파서

XML

정식 명칭은 eXtensible Markup Language이며, 데이터 기술 언어라고도 합니다. 여기에서 사용자는 필요에 따라 자신만의 태그를 정의할 수 있습니다. 정보를 트리 기반 구조로 저장하므로 간단하고 이해하기 쉽습니다.

이것은 샘플 XML 문서입니다 −

으아악

한 소스에서 다른 소스로 데이터를 전송하려면 데이터 형식을 변환해야 합니다. StAX 및 SAX와 같은 방법을 구문 분석하여 XML 데이터를 필요한 형식으로 읽고 변환할 수 있습니다.

SAX 파서

Simple API for XML의 약어입니다. XML 문서를 처음부터 끝까지 한 줄씩 읽습니다. 구문 분석 중에 태그가 발견될 때마다 메서드를 호출하고 사용자에 대한 정보를 검색합니다.

예를 들어, XML 문서에서 주소에 액세스하려고 하며 해당 문서에 'address'라는 태그 이름이 있다고 가정합니다. 이 경우 SAX 파서가 해당 태그에 도달하면 주소를 검색하는 메서드를 호출합니다.

SAX 파서 인터페이스 −

  • SAXParserFactory − 파서의 객체이며 파싱의 첫 번째 작업입니다.

  • SAXParser − 구문 분석에 사용되는 'parse()'라는 메서드를 정의합니다.

  • SAXReader

    − SAX 이벤트 핸들러와의 통신을 처리합니다.

  • StAX 파서

Streaming API for XML의 약자로 SAX 파서의 한계를 없애기 위해 개발되었습니다. 하나는 커서 API이고 다른 하나는 이벤트 반복자 API입니다. 반복자 API가 이벤트를 처리합니다.

StAX 파서 인터페이스

    XMLStreamReader
  • XMLStreamWriter
  • XMLEventReader
  • XMLEventWriter
  • 이제 StAX와 SAX Parser의 차이점에 대해 논의해 보겠습니다. 아래 표를 살펴보세요. −

SAX 파서StAX 파서XML 문서를 위한 간단한 API입니다. XML 문서용 스트리밍 API입니다. 이것은 푸시 유형 API입니다. 즉, 필요한 데이터를 푸시합니다. 이것은 풀 유형 API입니다. 즉, 필요한 데이터를 가져옵니다. SAX는 이벤트 기반 모델에서 작동합니다.StAX는 이벤트 기반 모델이 아닌 트리 기반 모델에서 작동합니다. XML 문서에서만 읽기 작업을 수행할 수 있습니다.양방향이며 XML 문서에서 읽기 및 쓰기 작업을 모두 수행할 수 있습니다.파싱 프로세스에 대한 제어는 필요하지 않더라도 모든 정보를 파싱합니다.StAX는 구문 분석에 대한 모든 권한을 제공합니다. 필요한 데이터를 추출하고 필요하지 않은 데이터를 삭제할 수 있습니다. 추가 API가 없습니다.두 가지 추가 API인 커서 API와 이벤트 반복자 API를 제공합니다.SAX는 하향식 방식으로 XML 파일을 읽으며 임의 액세스를 제공할 수 없습니다. StAX는 하향식 읽기도 사용하지만 정보에 대한 무작위 액세스를 제공합니다. 결론

이 기사에서는 StAX와 SAX 파서를 구별합니다. 그 과정에서 우리는 데이터 설명 언어인 XML을 발견했습니다. XML 파일을 읽고 쓰기 위해 StAX 및 SAX와 같은 다양한 파서를 제공합니다. 두 파서는 여러 면에서 유사하지만 기능과 작동 방식이 다릅니다.

위 내용은 Java의 StAX와 SAX 파서 비교의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿