[XML.NET] 2.XML 문서 구조

XML 문서는 선언부와 루트 요소로 구성합니다.
XML 문서 구조

XML 문서는 선언부와 루트 요소로 구성합니다.

선언부는 <?xml로 시작하여 ?>로 끝납니다. 그리고 이처럼 XML 문서에서 <?로 시작해서 ?>로 끝나는 구문을 처리 구문(Processing Instruction)이라 부릅니다.

XML 선언부
XML 선언부

선언부의 시작은 <?xml 로 시작하며(1) ?>로 끝납니다(5). 선언부에는 버전 정보(2)는 필수적으로 입력해야 합니다. 인코딩 정보(3)나 의존성 정보(4)는 선택적으로 표현할 수 있습니다.

인코딩 정보는 사용할 언어 코드에 관한 정보를 말하며 기본값은 UTF-8 입니다. 의존성 정보는 다른 문서를 참고하는지 여부를 나타냅니다. standalone이 “yes”이면 외부 문서를 참고하지 않고 “no”일 때는 외부 문서를 참고할 수 있다는 의미입니다. 그리고 standalone의 기본값은 “no”입니다.

XML 문서의 선언부 다음에는 하나의 루트 요소만 올 수 있습니다. 대신 루트 요소 내부에는 자손 요소들을 표현할 수 있습니다.

다음은 회원목록을 루트 요소로 하고 자식 요소로 두 개의 회원 요소가 요소 회원 요소에는 아이디와 이름 요소를 자식으로 갖는 XML 문서입니다.

<?xml version="1.0" encoding="euc-kr" standalone="yes" ?>
<회원목록>
    <회원>
        <아이디>ehclub</아이디>
        <이름>장언휴</이름>
    </회원>
    <회원>
        <아이디>jejutour</아이디>
        <이름>장문석</이름>
    </회원>
</회원목록>

요소를 표현하는 방법은 <요소명> 요소 내용 </요소명> 형태로 표현하는 것입니다. 만약 요소 내용이 없을 때는 <요소명/> 처럼 시작 태그와 종료 태그를 한꺼번에 표시할 수 있습니다. 다음은 홍길동 이름의 회원 데이터를 표현한 것입니다.

<회원> 
    <이름> 홍길동 </이름>
</회원>
<회원 이름="강감찬"/>
속성 명과 속성 값

요소 내부에는 특성을 표현할 수 있어서 시작 태그와 종료 태크를 한꺼번에 표시할 수 있는 것입니다. 특성은 시작 태그 내부에 특성명=”특성값” 형태로 표현합니다. 하지만 특성이 많다보면 XML 문서를 프로그래밍 방식으로 분석하는 비용이 많이 들 수 있습니다.

주석

XML에서 주석은 <!– 로 시작하여 –>로 끝납니다.

<?xml version="1.0" encoding="euc-kr" standalone="yes" ?>
<!-- XML 문서로 회원 목록을 표현한 것입니다. -->
<회원목록>
    <회원>
        <아이디>ehclub</아이디>
        <이름>장언휴</이름>
    </회원>
    <회원 아이디="jejutour" 이름="장문석"/>
</회원목록>

XML 문서에서 일부 문자는 약속한 방법으로 표현하는데 이를 escape 문자라 부릅니다.

escape 문자
<?xml version="1.0" encoding="euc-kr" standalone="yes" ?>
<!-- XML 문서로 회원 목록을 표현한 것입니다. -->
<회원목록>
    <회원>
        <아이디>&lt;ehclub&gt;</아이디>
        <이름>&quot;장언휴&quot;</이름>
    </회원>
    <회원 아이디="jejutour" 이름="장문석"/>
</회원목록>

다음은 웹 브라우저에서 본 화면입니다.