프로그래밍 기술/XML.NET

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

언제나휴일 2016. 4. 18. 11:02
반응형

2. XML 문서 구조


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

XML 문서 구조


 

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

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에서 주석은 <!-- 로 시작하여 -->로 끝납니다.


XML 주석


example1.xml


<?xml version="1.0" encoding="euc-kr" standalone="yes" ?>

<!-- XML 문서로 회원 목록을 표현한 것입니다. -->

<회원목록>

    <회원>

        <아이디>ehclub</아이디>

        <이름>장언휴</이름>

    </회원>

    <회원 아이디="jejutour" 이름="장문석"/>

</회원목록>

 

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


XML escape 문자


 

example2.xml


<?xml version="1.0" encoding="euc-kr" standalone="yes" ?>

<!-- XML 문서로 회원 목록을 표현한 것입니다. -->

<회원목록>

    <회원>

        <아이디>&lt;ehclub&gt;</아이디>

        <이름>&quot;장언휴&quot;</이름>

    </회원>

    <회원 아이디="jejutour" 이름="장문석"/>

</회원목록>

 

다음은 인터넷 익스플로러에서 본 화면입니다.


XML 문서를 인터넷 익스플로러에서 본 화면


반응형