source

JAXP와 JAXB의 차이점은 무엇입니까?

ittop 2023. 9. 19. 21:23
반응형

JAXP와 JAXB의 차이점은 무엇입니까?

JAXP와 JAXB의 차이점은 무엇입니까?

JAXP(Java API for XML Processing)는 DOM, SAX 및 StAX와 같은 JavaSE의 다양한 하위 XML API를 포괄하는 다소 구식의 포괄적인 용어입니다.

JAXB(Java Architecture for XML Binding)는 특정 API(아래 항목)입니다.javax.xml.bind주석을 사용하여 XML 문서를 Java 객체 모델에 바인딩합니다.

JAXP는 XML 프로세싱을 위한 Java API로, DOM 또는 SAX 파서로 XML 파일을 파싱할 수 있는 플랫폼을 제공합니다.

JAXB가 XML 바인딩을 위한 Java Architecture이기 때문에 Java 프로그래밍 언어로 작성된 응용프로그램에서 XML 문서에 더 쉽게 액세스할 수 있습니다.

예를 들어: Computer.xml 파일을 JAXP로 데이터에 액세스하려면 다음 단계를 수행합니다.

  1. SAX 파서 또는 DOM 파서를 만든 다음 데이터를 파서합니다. DOM을 사용하면 문서가 너무 크면 메모리 집약적일 수 있습니다.SAX 파서를 사용할 경우 문서의 시작 부분을 식별해야 한다고 가정합니다.XML 태그의 시작이나 태그 내부의 텍스트와 같은 중요한 것(SAX 용어로 "이벤트")이 발생하면 해당 데이터를 호출 애플리케이션에서 사용할 수 있게 됩니다.
  2. 그런 다음 이벤트가 발생했을 때 파서가 통지할 방법을 정의하는 내용 처리기를 만듭니다.콜백 메소드라고 알려진 이러한 메소드는 수신한 데이터에 대해 적절한 액션을 수행합니다.

동일한 작업을 JAXB에서 수행하는 경우 Computer.xml에 액세스하려면 다음 단계를 수행해야 합니다.

  1. XML 문서의 스키마를 바인딩합니다.
  2. 문서를 Java 내용 개체로 마싱 해제합니다.Java 내용 개체는 XML 문서의 내용과 구성을 나타내며 프로그램에서 직접 사용할 수 있습니다.해제 후 프로그램은 Java 컨텐츠 개체의 데이터에 액세스한 후 표시하기만 하면 XML 문서의 데이터에 액세스하여 표시할 수 있습니다.파서를 작성하고 사용할 필요가 없으며 콜백 메소드가 있는 컨텐츠 핸들러를 작성할 필요가 없습니다.이것이 의미하는 것은 개발자가 XML 또는 XML 처리를 알 필요 없이 XML 데이터에 접근하고 처리할 수 있다는 것입니다.

핵심적인 차이점은 xml 스키마가 어떤 역할을 수행하느냐에 있습니다.JAXP는 XML 스키마를 인식하지 못하고 구식이며, JAXB는 스키마 바인딩을 첫 번째 단계로 처리합니다.

언급URL : https://stackoverflow.com/questions/2801502/what-is-the-difference-between-jaxp-and-jaxb

반응형