XML 기초

megaseunghan·2021년 11월 25일
0
💡 출처 : [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 작성 예

<!--Element가 값을 가지고 있는 경우-->
<name>백승한</name>
<!-- Element가 값을 가지고 있지 않은 경우-->
<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 정의와 사용법

  • escape 데이터 XML 값으로 사용하기
<car size="2000">소나타</car>

<!-- #1 -->
%it;car size=&quat;2000&quat;

<!-- #2-->
<! [CDATA [
<car size ="2000"> 소나타</car>
]]>

<!--2 번 방법을 많이 사용함 -->

XML 문서 선언

  • 현재 사용 중인 문서가 XML임을 나타내기 위해 사용한다.
  • 권고사항이다.
  • 반드시 첫행에 선언한다.

XML 문서선언 각 속성 의미

  • version : 현재 XML 권고안의 버전은 1.0이다
  • encoding : 기본은 UTF-8이다.
  • standalone : XML 문서를 XML 파서가 해석할 때 외부 DTD의 사용 유무를 지정한다.
    • yes / no : 참고할 필요가 없다 / 참고한다(기본)

well-formed XML 문서 만드는 규칙

  • 모든 element는 start tag와 end tag를 가져야 한다.
  • element들은 중첩이 불가능하다.
  • 최상위 요소(root element)는 하나만 허용된다.
  • 속성은 " "로 값을 표현하다.
  • escape 문자는 대체 문자로 표시하거나 CDATA 섹션 안에 표시한다.![]

0개의 댓글