XML - CDATA란? (개념, 사용 방법, 사용하는 이유) +XML 파서 (1/2)

반응형

 

이번 포스팅에서는...

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>

 

  • 실행 화면 : 특수문자 정상 출력


 

참고

TcpSchool - XML 문서의 구성 요소

 

반응형