java xml 파서 예제

java xml 파서 예제

노드를 확장하는 org.w3c.dom.Element 인터페이스는 해당 노드에 특성을 추가하는 setAttribute 작업을 정의합니다. Java 플랫폼 의 관점에서 더 나은 이름은 addAttribute되었을 것입니다. 특성은 클래스의 속성이 아니며 새 개체가 만들어집니다. 문서의 createAttribute 작업을 사용하여 특성 인스턴스를 만든 다음 setAttributeNode 메서드를 사용하여 추가할 수도 있습니다. 이 예제에서는 다음 XML 문서를 읽고 개체를 만듭니다. DOM 파서를 만들고 입력 XML 문서를 구문 분석하고 DOM 표현을 가져옵니다. 이 기술은 “기본 DOM 구문 분석 수행”에 설명되어 있습니다. DOMCompression.java의 다음 코드 조각은 이 기술을 보여 줍니다. 그림 4-5에서는 SAX 파서를 만들고 입력 문서를 구문 분석하는 방법을 보여 줍니다. 내 경험에 따르면 XML로 작업하는 가장 인기있는 방법은 DOM 파서를 사용하는 것입니다.

DOM을 사용하면 XML은 엔터티라는 세 가지 주요 조각으로 나뉩습니다. 예를 들어 예제 4-5에서 코드 조각을 작성한다고 가정합니다. 유효성 검사 파서를 구현하는 경우 프로세서는 제공된 DTD 또는 XML 스키마에 대해 XML 데이터 문서의 유효성을 검사하려고 시도합니다. 이 예제에서는 동일한 “staff.xml”을 읽고 노드를 하나씩 반복하고 노드 이름과 값 및 특성(있는 경우)을 인쇄하는 방법을 보여 주며 이를 보여 주습니다. SAX 파서는 XML 파일을 구문 분석할 때 압축된 스트림을 생성합니다. SAX 파서에 의해 생성된 SAX 이벤트는 압축된 이진 스트림을 생성하는 SAX 압축 유틸리티에서 처리됩니다. 이진 스트림을 다시 읽으면 SAX 이벤트가 생성됩니다. JAXP를 사용하면 Java 프로그램에서 SAX 및 DOM 파서와 XSLT 프로세서를 사용할 수 있습니다. 이 섹션에는 운영 체제에 저장된 XML 파일을 읽을 때 FileReader 클래스를 사용하지 마십시오. 대신 XML 파서를 사용하여 문서의 문자 인코딩을 자동으로 검색합니다. 외부 인코딩 정보가 없는 이진 FileInputStream이 주어지면 파서는 XML 문서의 바이트 순서 표시 및 인코딩 선언을 기반으로 문자 인코딩을 자동으로 결정합니다.