2. XML 문서 구조
XML 문서는 선언부와 루트 요소로 구성합니다.
선언부는 <?xml로 시작하여 ?>로 끝납니다. 그리고 이처럼 XML 문서에서 <?로 시작해서 ?>로 끝나는 구문을 처리 구문(Processing Instruction)이라 부릅니다.
선언부의 시작은 <?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 문자라 부릅니다.
<?xml version="1.0" encoding="euc-kr" standalone="yes" ?>
<!-- XML 문서로 회원 목록을 표현한 것입니다. -->
<회원목록>
<회원>
<아이디><ehclub></아이디>
<이름>"장언휴"</이름>
</회원>
<회원 아이디="jejutour" 이름="장문석"/>
</회원목록>
다음은 인터넷 익스플로러에서 본 화면입니다.
'프로그래밍 기술 > XML.NET' 카테고리의 다른 글
[XML.NET] 11. XmlWriter 개체로 XML 데이터 작성(Attribte 쓰기) (0) | 2016.04.18 |
---|---|
[XML.NET] 10. XmlWriter 개체로 XML 데이터 작성(요소 쓰기) (0) | 2016.04.18 |
[XML.NET] 9. XmlWriter 개체 만들기 예제 (0) | 2016.04.18 |
[XML.NET] 8. XmlWriterSettings 개요 (0) | 2016.04.18 |
[XML.NET] 7. XmlWriter 개요 (0) | 2016.04.18 |
[XML.NET] 6. XML 문서 구조 - XML 스키마(XML Schema) (0) | 2016.04.18 |
[XML.NET] 5. XML 문서 구조 DTD (0) | 2016.04.18 |
[XML.NET] 4. CSS를 이용한 스타일 지정 (0) | 2016.04.18 |
[XML.NET] 3.XML 문서 작성 (0) | 2016.04.18 |
[XML.NET] 1. XML 소개 (0) | 2016.04.18 |