영보의 SystemOut.log

[XML] XML 파싱 / XML 문법 본문

Web/XML

[XML] XML 파싱 / XML 문법

영보로그 2020. 10. 19. 20:37
반응형

 # XML


목적

  데이터를 구분하고 문서로 저장하는 목적
문법
  - DTD안에 있는 태그나 속성만 사용 (HTML은 자유롭다)
  
 
  - 태그명 + 속성  

      데이터가 저장   
        ▶ <태그>데이터 저장</태그> 
           <td>데이터출력</td>  ==> text() 

         <태그 속성="데이터 저장"/> 
           <img src="데이터저장"/> ==> attr("src") 
 

 

 

 # XML을 이용하는 목적  
 - 자바 소스를 제공하지 않는다 → 동작에 필요한 데이터를 XML에 올려주면 읽어간다 
 - 모든 라이브러리는 소스를 공개하지 않는다 (실행할수 있는 파일만 제공 .class)

   → 실무에도 배포할때 자바소스는 제공하지 않는다 (컴파일 .class만 제공)

   → 배포 (war) jar(.class)

 - 일반 txt파일 구분을 할 수 없다 
   구분되는 파일 이용 : XML,JSON  
 - XML 포맷 (운영체제마다 동일하다) 
           모든 프레임워크(Spring,struts,MyBatis,IBatis,Hibernate) 
           Spring + MyBatis  
           Struts + Hibernate

 

 

# XML 파싱

- XML 파싱 : 태그나 속성값을 읽어 오는 과정

- XML 파싱 종류

JAXB 
  - 외부에서 데이터를 XML로 보내는 경우에 주로 사용 (많이 사용) 

  - Java와 XML을 연결 => 라이브러리  

JAXP
  ① DOM (Document Object Model) 
   - (수정,삭제,추가 , 검색) => XML을 메모리에 저장하고 제어  

   - 속도가 늦다 (XML을 오라클 대신 사용) 
  ② SAX Simple API FOR XML)
   - (검색=>데이터 읽기만 가능) : MyBatis,Spring
   - 기억해야 하는 이유 : 자바에서는 에러가 거의 없다, XML파일(SAX파싱 에러) 

- Spring : 기본구조를 직접 제작 → XML(클래스등록 메모리 할당클래스는 주는 역할) 
              - 클래스관리자(생성~소멸) 

- XML 태그 (사용자 정의) : 고정 태그가 아니다 즉, 업체에서 제공하는 XML태그만 사용해야 한다.
- MyBatis : google에서 재공하는 XML만 사용(태그,속성) XML의 태그나 속성이 어떤게 있는지 알 수 없다.
              태그나 속성의 목록을 제공 : DTD    

- 저장 형식 : Tree / List

반응형