java xml 파싱 예제

이 예제는 프로젝트 “de.vogella.xml.stax.reader”에 저장됩니다. 플러그인 데이터는 이미 구문 분석된 데이터이므로 구문 분석없이 한 프로세서에서 다른 프로세서로 전송할 수 있습니다. Java용 XML 파서는 DOMParser.setDoctype() 메서드를 통해 유효성 검사 및 비유효성 검사 모드에서 DTD 캐싱을 제공합니다. 이 메서드를 사용하여 DTD를 설정한 후 파서는 이 DTD를 추가 구문 분석하기 위해 캐시합니다. DTD 캐싱은 선택 사항이며 자동으로 활성화되지 않습니다. 저작권 © 2012-2019 vogella GmbH. 소프트웨어 예제의 무료 사용은 이클립스 공공 라이센스 2.0의 조건에 따라 부여됩니다. 이 튜토리얼은 크리에이티브 커먼즈 저작자 표시-비상업적-공유3.0 독일 라이선스에 따라 게시됩니다. UTF-8 인코딩은 XML 문서에 널리 사용되지만 UTF-8은 일반적으로 Java의 기본 파일 인코딩이 아닙니다. 기본 파일 인코딩을 가정하는 프로그램에서 Java 클래스를 사용하면 문제가 발생할 수 있습니다. 이러한 문제를 방지하려면 $ORACLE_HOME/xdk/데모/자바/파서/돔에서 I18nSafeXMLFileWritingSample.java 프로그램에 설명된 기술을 사용할 수 있습니다. 종종 구문 분석할 까다로운 XML 데이터가 있을 수 있습니다. 다음은 Java org.w3c.dom을 사용하여 XML 데이터를 효율적으로 구문 분석하는 방법을 보여 주려는 예제입니다.

이전 예제에서는 코드를 작성하는 동안 알려진 또는 거의 모르는 구조를 구문 분석한 XML 문서를 반복할 수 있는 방법을 보여 주습니다. 경우에 따라 코딩 하는 동안 가정된 XML 구조에 약간의 차이가 있더라도 프로그램이 실패 없이 작동해야 하는 방식으로 코드를 작성해야 할 수도 있습니다. JAXP API를 사용하면 SAX 또는 DOM 파서의 구현을 연결할 수 있습니다. Oracle XDK에 제공되는 SAX 및 DOM API는 JAXP에서 지원하는 공급업체별 구현의 예입니다. 이 섹션에서는 DTD구문 분석 기술에 대해 설명합니다. 여기에는 W3C 표준 라이브러리 org.w3c.dom이 DOM 구성 요소에 대한 문서 클래스와 클래스를 정의합니다. Oracle XML 파서는 표준 DOM API를 포함하며 W3C DOM 권장 사항을 준수합니다. Oracle XML 구문 분석에서는 org.w3c.dom과 함께 DOM API를 구현하고 확장하여 문서 조각 인쇄 및 네임스페이스 정보 검색과 같은 기능을 제공하는 클래스가 포함되어 있습니다.

이전 코드에서 만든 XMLDocument 개체를 다시 문자열로 변환한다고 가정합니다. 인쇄기에서 문자열 작성기를 래핑 하 여이 작업을 수행할 수 있습니다. 다음 예제에서는 이 기술을 보여 줍니다: 노드 필터는 특정 유형의 노드 개체를 필터링할 수 있는 개체입니다. 예를 들어 엔터티 참조 노드를 필터링하지만 요소 및 특성 노드를 수락할 수 있습니다. NodeFilter 인터페이스를 구현 한 다음 node 개체를 acceptNode() 메서드에 전달 하여 노드 필터를 만듭니다. 일반적으로 acceptNode() 메서드 구현 호출 getNodeType() 노드의 형식을 가져오고 ELEMENT_TYPE, ATTRIBUTE_TYPE 등과 같은 정적 변수와 비교한 다음 찾은 내용에 따라 테이블 4-9의 정적 필드 중 하나를 반환합니다. XML 파일을 읽는 만들기에서 예제를 따라 나는 약간의 불일치를 발견 생각합니다. 먼저 파서는 입력 XML 파일을 트래버스하고 XML 파일의 노드에 해당하는 DOM 개체를 만듭니다. 이러한 DOM 개체는 구조와 같은 트리에서 함께 연결됩니다.