1 / 39

XML

XML. chapter 09 : XML 과 자바 연동. 학습목표. XML 과 자바연동 위한 준비 XML Parser 종류 JAXP 란 ? SAX DOM. XML 과 자바연동. XML Parser ? : 작성된 XML 문서가 1) well-formed 문서인지 검사 2) valid 문서인지 검사 3) 응용프로그램이 실행할 수 있는 결과 제공. XML Parser 종류 DOM ( Document Object Model ) 파서

tracen
Download Presentation

XML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XML

  2. chapter 09 : XML과 자바 연동

  3. 학습목표 • XML과 자바연동 위한 준비 • XML Parser 종류 • JAXP 란? • SAX • DOM

  4. XML과 자바연동 • XML Parser ? • : 작성된 XML문서가 • 1) well-formed 문서인지 검사 • 2) valid 문서인지 검사 • 3) 응용프로그램이 실행할 수 있는 결과 제공 • XML Parser 종류 • DOM ( Document Object Model ) 파서 • : Parser를 이용한 해석 결과를 메모리에 DOM 이라는 객체Tree 구조로 생성. • 2) SAX ( Simple API for XML ) 파서 • : 해석하면서 동시에 Event를 발생시킨다.

  5. JAXP ( Java API for XML Processing) 란? • : DOM 파서와 SAX 파서를 만든 vendor에 독립적인 API. JAXP의 interfaces Xerces 파서는 J2SE 1.4부터 기본내장. DOM SAX • XML과 자바연동

  6. Parser XML 문서 이벤트 처리방식 SAX파서 DOM파서 Tree 구조 방식 자바응용프로그램 • XML과 자바연동 JAXP

  7. SAX 2.0 ( Simple API for XML )

  8. EventHandler가 구현한 메소드 SAX 파싱 • XML과 자바연동 • SAX 2.0 • - 이벤트 기반의 XML 파서를 위한 interface. • - XML 문서전체를 처음부터 끝까지 차례대로 읽으면서 • 이벤트를 발생시켜 처리. ( 1회 순차적인 접근 ) • - 이벤트를 처리하는 EventHandler 가 존재 • - 저장 메커니즘이 필요하다.

  9. XML과 자바연동 • SAX 2.0 핵심 package • : org.xml.sax : SAX의 핵심 패키지. • org.xml.sax.ext : SAX의 확장 패키지. • org.xml.sax.helpers : sax패키지의 구현클래스.

  10. XML과 자바연동 org.xml.sax org.xml.sax.ext org.xml.sax.helpers

  11. XML과 자바연동 Vendor 독립적

  12. sax.xml 사용자 application DefaultHandler.class XML Parser SimpleSAXHandler.class SaxParserFactory • XML과 자바연동

  13. XML과 자바연동 • Attributes 인터페이스 사용 예제 • : 엘리먼트의 속성관련. org.xml.sax.Attributes

  14. XML과 자바연동

  15. XML과 자바연동 • Locator 인터페이스 사용 예제 • : Event와 관련된 위치정보를 제공 • : org.xml.sax.Locator Parsing 시작할 때 한번 호출

  16. XML과 자바연동

  17. XML과 자바연동 • SAX 의 저장 메커니즘 구현

  18. XML과 자바연동

  19. XML과 자바연동 • Validating SAX Parser 구현 • : DTD 또는 Schemas 을 이용한 XML인 경우에는 • setValidating( true ) : SAXParserFactory 구현한다. Valid 에러발생시 호출

  20. XML과 자바연동

  21. XML과 자바연동

  22. DOM Level 2 ( Document Object Model )

  23. XML과 자바연동 • DOM • - 객체 모델 기반의 XML 파서를 위한 interface. • - XML 문서전체를 파싱하여 메모리에 tree 구조로 • 만들어서 작업. • - 저용량의 XML 처리시 적합. • - XML 데이터구조 변경 ( 수정 , 삭제 , 삽입 )이 가능하다. (자식,자손,형제) 메모리 DOM 파싱

  24. XML과 자바연동 • DOM 핵심 package • : org.w3c.dom : DOM의 핵심 패키지.

  25. XML과 자바연동 • DOM 실습예제

  26. XML과 자바연동 • DOM API 계층구조

  27. XML과 자바연동 • DOM 파서의 parse 메소드

  28. XML과 자바연동 • 1. “TomSmith”데이터 찾기 • whitespace( 공백문자 )를 제거하자. : DocumentBuilder 는 기본으로 공백을 Text 객체로 인식. : factory.setIgnoringElementContentWhitespace( true ); : 반드시 문서유형 선언이 필요 ( <!DOCTYPE )

  29. XML과 자바연동

  30. XML과 자바연동 • 2. 마지막 자식 객체 찾기

  31. XML과 자바연동 • 3. 형제 노드 찾기

  32. XML과 자바연동 • 4. 속성값 얻기 • : getAttribute ( “속성명”);

  33. XML과 자바연동 • 5. 동일 이름의 엘리먼트 객체 찾기 • : ele.getElementsByTagName( “tag명”) : NodeList

  34. XML과 자바연동 • 6. DOM 객체 수정 • : Text 객체 수정 : text.setData( “변경Data” ); • : 속성 객체 수정 : ele.setAttribute( “속성명”,”값”); • DOM 객체를 수정한다고 해서 실제 XML 파일이 변경되는 것은 아니다. 단지 메모리에 저장된 값이 변경됨. 변경된 값을 XML 파일까지 적용을 시키려면 저장 작업이필요하다.

  35. XML과 자바연동

  36. XML과 자바연동 • 7. DOM 객체 추가 • 1) 객체를 생성 : doc.createElement( “엘리먼트명”); • doc.createTextNode( “데이터”); • 2) 객체 붙이기 : ele.appendChild( childElement ); • 속성 객체일 경우에는 setAttribute( “속성명”,”값”)사용. • ( 속성이 있으면 수정. 없으면 생성 )

  37. XML과 자바연동

  38. XML과 자바연동 • 8. DOM 객체 삭제 • : 부모 엘리먼트에서 자식엘리먼트를 삭제. • : ele.removeChild( childElement );

  39. 공부한 내용 • SAX & DOM

More Related