XML

XML

알 수 없는 사용자 2015. 6. 1. 11:08

 

XML이란 :

- >XML은 프로그램이 아닌, 데이터 표현 문서로써 실행에 있어, 데이터만작성하는 페이지가 되는것!

 

XML생성 :

- > eclipse에서 project Explorer -> other -> XML파일에서 XML 선택하여, 이름 작성후 생성

 

XML특징 :

     - > <root></root> 와 같은 루트엘리먼트를 사용한다. 단, 루트엘리먼트 명은 사용자가 지정가능!

- > 처음 <root></root>엘리먼트를 작성후 하위 엘리먼트를 만들경우 mark up* 언어의 기본형식에 따라 작성한다

XML속성 :

 

<!DOCTYPE 루트명[

<!ELEMENT 루트명 (하위루트명+)>
<!ELEMENT 하위루트명 (artist, title, tracks, price)>
<!ATTLIST artist type (individual | band) #REQUIRED>
<!ATTLIST title numberoftracks CDATA #REQUIRED>
<!ELEMENT tracks (track*)>

<!ELEMENT artist (#PCDATA)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT track (#PCDATA)>
<!ELEMENT price (#PCDATA)>
]>

- > 하위루트명+, 하위루트명*  // 반복가능(+는 1이상, * 0이상)

- > #PCDATA // 텍스트 데이터를 받아온다

- > type ->속성, #REQUIRED ->필수, CDATA #REQUIRED ->텍스트 데이터

 

XML주의사항 및 참고사항

- > 루트 엘리먼트 명은 파일 이름명과 같게 하는것이 좋다.

- > 복수의 데이터를 표현 하는 경우 중간에 적절한 부모 태그 지정

- > 엘리먼트 하위에는 엘리먼트(또는 데이터)만 나오도록 한다.

- > 특수문자 포함된 데이터인 경우는       <![CDATA[ 데이터입력 ]]>       섹션으로 처리

 

*mark up :

- > 태그를 가지고 데이터를 표현하는 언어

- > <시작태그>데이터</끝태그> : 엘리먼트

 

XML예시 :

1) Schedule 내용 작성

<?xml version="1.0" encoding="UTF-8"?>
<scheduleList sid = "1">    //-> 루트명 : scheduleList , 동일한 이름을 가진 엘리먼트인 경우 적절한 속성과 값 부여(sid ="1")

 <date>2015-05-22</date> //-> 하위 루트 : date, hour, content
 <hour>09</hour>
 <content>프로젝트 시작</content>
</scheduleList>


<scheduleList sid = "2">
 <date>2015-01-01</date>
 <hour>09</hour>
 <content>신정</content>
</scheduleList>


<scheduleList sid = "3">
 <date>2015-05-26</date>
 <hour>09</hour>
 <content>일정관리 프로그램 테스트</content>
</scheduleList>

=====================

2)영화상영 정보 작성

<moviesList>
 <!-- 영화 상영 정보에 필요한 XML 구조 작성 -->
 <!-- 영화상영중 -->

 

<onscreen>
  <movie mid="1">
   <picture></picture> <!-- 포스터 -->
   <title>어벤져스</title> <!-- 영화이름 -->
   <movieInfo>
    <staff><!-- 배우이름 -->
     <actor1>로버트 다우니 주니어</actor1>
     <actor2>크리스 헴스워스</actor2>
    </staff>
    <ondate>5.14</ondate> <!-- 상영날짜 -->
    <age>12세이상</age> <!-- 시청가능연령 -->
    <score>8.56</score> <!-- 평점 -->
   </movieInfo>
  </movie>
  <movie mid="2">
   <picture></picture> <!-- 포스터 -->
   <title></title> <!-- 영화이름 -->
   <movieInfo>
    <staff><!-- 배우이름 -->
     <actor1></actor1>
     <actor2></actor2>
    </staff>
    <ondate></ondate> <!-- 상영날짜 -->
    <age></age> <!-- 시청가능연령 -->
    <score></score> <!-- 평점 -->
   </movieInfo>
  </movie>

 </onscreen>

 

<!-- 상영예정중 -->
 <comminsoon>
  <movie mid="1">
   <picture></picture> <!-- 포스터 -->
   <title>무뢰한</title> <!-- 영화이름 -->
   <movieInfo>
    <staff><!-- 배우이름 -->
     <actor1>전도연</actor1>
     <actor2>김남길</actor2>
    </staff>
    <ondate>5.27</ondate> <!-- 상영날짜 -->
    <age>19세이상</age> <!-- 시청가능연령 -->
   </movieInfo>
  </movie>
  <movie mid="2">
   <picture></picture> <!-- 포스터 -->
   <title></title> <!-- 영화이름 -->
   <movieInfo>
    <staff><!-- 배우이름 -->
     <actor1></actor1>
     <actor2></actor2>
    </staff>
    <ondate></ondate> <!-- 상영날짜 -->
    <age></age> <!-- 시청가능연령 -->
   </movieInfo>
  </movie>
</comminsoon>

</moviesList>