반응형
이번 포스팅에서는...
CDATA와 XML 파서에 대한 개념과 사용 방법, 사용하는 이유에 대하여 설명합니다.
다음 포스팅에서는...
PDATA에 대한 개념과 CDATA와 PDATA의 차이점에 대해 설명합니다.
XML - PDATA란? (개념과 사용 방법, CDATA와 PDATA의 차이) (2/2)
CDATA란?
- Character DATA의 약자
- XML 파서가 분석하지 않는 문자 데이터를 의미
- 즉, CDATA 섹션 내부의 모든 문자는 XML 파서에 의해 문자 그대로 해석되며, 특수 문자나 태그로 간주되지 않음
XML 파서
- XML 문서를 일어서 문서 내의 요소(element), 속성(attribute), 텍스트(text) 등의 정보를 추출
- 일반적으로 데이터를 전송하거나 저장하기 위해 사용
- XML 문서를 읽고 해석하여 컴퓨터에서 처리할 수 있는 구조로 변환
- 다양한 프로그래밍 언어에서 지원 (Java, Python, C++ 등)
XML 파서의 종류
SAX(Simple API for XML) 파서 | DOM(Document Object Model) 파서 |
- XML 문서를 한 줄씩 수행 | - XML 문서 전체를 메모리에 로드 |
- 요소, 속성, 텍스트 등을 순차적 처리 | - 전체 문서를 트리 구조로 변환 - 문서 내의 요소, 속성, 텍스트 등 조작 가능 |
구문
<![CDATA[ ... ]]>
- '<![CDATA[' 로 시작하고 ']]>' 로 끝나는 특별한 표기법 사용
- <![CDATA
- CDATA 섹션 선언
- [ ... ]
- 섹션 내부
- 모든 문자는 XML 파서에 의해 문자 그대로 해석
- ]>
- CDATA 섹션 종료 선언
CDATA를 사용하는 이유
- 일반적인 텍스트 데이터(HTML 코드, XML 코드 등)을 처리하기 위해
- 코드 블록이나 예제코드를 표현하기 위해
- 스크립트 또는 스타일 요소 내에 포함된 데이터를 처리하기 위해
예시
특수문자 '< & >' 입력
<!-- cdata test.xml -->
<root>
<data>
특수문자가 포함된 텍스트 : < & >
XML 파서가 해석하지 않음
</data>
</root>
- 실행 화면 : 에러 출력
CDATA 섹션 안에 특수문자 '< & >' 입력
<!-- cdata test.xml -->
<root>
<data>
<!-- CDATA Section -->
<![CDATA[
특수문자가 포함된 텍스트 : < & >
XML 파서가 해석하지 않음
]]>
</data>
</root>
- 실행 화면 : 특수문자 정상 출력
참고
반응형