💡 출처 : [https://www.youtube.com/watch?v=caILr5oH4p8](https://www.youtube.com/watch?v=caILr5oH4p8)
[초보자를 위한 Java Programming] 12.12 XML 정의와 사용법
XML 정의
- eXtensible Markup Language의 약자로 확장성 있는 마크업 언어이다.
- W3C에서 사람과 응용 프로그램간 혹은 응용프로그램간에 정보를 쉽게 교환하기 위해 만든 데이터 형식이다.
- 데이터의 정의 및 수정이 용이하다.
XML 장점
- 텍스트로 이루어져 있기 때문에 어떤 시스템에서 호환된다.
- 문서가 정보와 구조를 포함하고 있기 때문에 사람이 읽어도 의미를 쉽게 파악할 수 있다.
- 데이터를 정의하는 태그를 마음대로 정의할 수 있다.
XML 데이터 사용 예
<?xml version="1.0" encoding ="UTF-8"?>
<company>
<staff>
<firstname>seunghan</firstname>
<lastname>baek</lastname>
<nickname>seung</nickname>
</staff>
<staff>
<firstname>gildong</firstname>
<lastname>hong</lastname>
<nickname>thief</nickname>
</staff>
</company>
XML 구성 요소
- 요소(Element, Tag) : 데이터의 구성 요소를 나타낸다.
- 속성(Attribute) : 데이터를 상세하게 설명하는 용도로 사용된다.
XML 작성 규칙
- 모든 Element는 반드시 start tag와 end tag를 가져야 한다.
- Element 내에 하위 Element를 정의할 수 있다. (계층 구조이다.)
XML 작성 예
<name>백승한</name>
<emp name="홍길동" />
Root Element와 Child Element
- Root Element는 XML파일 내에서 하나만 가지고 있어야 한다. (전체를 감싸는 태그)
- child Element는 여러개 있어도 된다.
XML 속성(Attribute) 정의 규칙
- element 내에서 name = value 쌍으로 적용된다.
- 개수에는 제한이 없다.
- name은 중복이 되면 안된다.
- value는 "값"으로 표시한다.
XML에서 escape 문자 표현 방법
- escape 문자 특징 : element의 값으로 "<", " ", "\n", '' 등의 escape 문자는 사용할 수 없다.
- element의 값으로 escape 문자 사용 방법 : character entities(대체 문자) 이용하기 : CDATA 섹션 이용하기
XML 정의와 사용법
<car size="2000">소나타</car>
%it;car size=&quat;2000&quat;
<! [CDATA [
<car size ="2000"> 소나타</car>
]]>
XML 문서 선언
- 현재 사용 중인 문서가 XML임을 나타내기 위해 사용한다.
- 권고사항이다.
- 반드시 첫행에 선언한다.
XML 문서선언 각 속성 의미
- version : 현재 XML 권고안의 버전은 1.0이다
- encoding : 기본은 UTF-8이다.
- standalone : XML 문서를 XML 파서가 해석할 때 외부 DTD의 사용 유무를 지정한다.
- yes / no : 참고할 필요가 없다 / 참고한다(기본)
- 모든 element는 start tag와 end tag를 가져야 한다.
- element들은 중첩이 불가능하다.
- 최상위 요소(root element)는 하나만 허용된다.
- 속성은 " "로 값을 표현하다.
- escape 문자는 대체 문자로 표시하거나 CDATA 섹션 안에 표시한다.![]