'XML'에 해당되는 글 7건

XML 연습 - TVSchedule

XML 2015. 6. 22. 23:19

<!DOCTYPE TVSCHEDULE [


<!ELEMENT TVSCHEDULE (CHANNEL+)>

<!ELEMENT CHANNEL (BANNER,DAY+)>

<!ELEMENT BANNER (#PCDATA)>

<!ELEMENT DAY (DATE,(HOLIDAY|PROGRAMSLOT+)+)>

<!ELEMENT HOLIDAY (#PCDATA)>

<!ELEMENT DATE (#PCDATA)>

<!ELEMENT PROGRAMSLOT (TIME,TITLE,DESCRIPTION?)>

<!ELEMENT TIME (#PCDATA)>

<!ELEMENT TITLE (#PCDATA)> 

<!ELEMENT DESCRIPTION (#PCDATA)>


<!ATTLIST TVSCHEDULE NAME CDATA #REQUIRED>

<!ATTLIST CHANNEL CHAN CDATA #REQUIRED>

<!ATTLIST PROGRAMSLOT VTR CDATA #IMPLIED>

<!ATTLIST TITLE RATING CDATA #IMPLIED>

<!ATTLIST TITLE LANGUAGE CDATA #IMPLIED>

]>

'XML' 카테고리의 다른 글

XML 연습 - 자동차 구조 분석  (0) 2015.06.22
3일차_DOM, 원격XML  (0) 2015.06.22
2일차_DTD, DOM, 로컬XML  (2) 2015.06.22
1일차_XML개요, 이력서정보XML표현  (1) 2015.06.22
XML_Java 연동  (0) 2015.06.01
블로그 이미지

알 수 없는 사용자

,

<?xml version="1.0" encoding="utf-8"?>

<VEHICLES>

    <LAST_INVENTORY_NUMBER>11</LAST_INVENTORY_NUMBER>

    <VEHICLE>

        <INVENTORY_NUMBER>1</INVENTORY_NUMBER>

        <MAKE>Dodge</MAKE>

        <MODEL>Durango</MODEL>

        <YEAR>1998</YEAR>

        <PICTURE>DodgeDurango.jpg</PICTURE>

        <STYLE>Sport Utility</STYLE>

        <DOORS>4</DOORS>

        <PRICE>18000</PRICE>

        <MILEAGE>32000</MILEAGE>

        <OPTIONS>

            <Power_Locks>Yes</Power_Locks>

            <Power_Window>Yes</Power_Window>

            <Stereo>Radio/Cassette/CD</Stereo>

            <Air_Conditioning>Yes</Air_Conditioning>

            <Automatic>Yes</Automatic>

            <Four_Wheel_Drive>Full/Partial</Four_Wheel_Drive>

            <Note>Very clean</Note>

        </OPTIONS>

        <OWNER>

            <NAME>Douglas Briggs </NAME>

            <EMAIL>DBriggs@aDomain.Com</EMAIL>

            <PHONE>781 781 7811</PHONE>

        </OWNER>

    </VEHICLE>

    <VEHICLE>

        <INVENTORY_NUMBER>2</INVENTORY_NUMBER>

        <MAKE>Honda</MAKE>

        <MODEL>Civic</MODEL>

        <YEAR>1997</YEAR>

        <PICTURE>HondaCivic.jpg</PICTURE>

        <PRICE_YEN>20000000</PRICE_YEN>

        <STYLE>Sedan</STYLE>

        <DOORS>4</DOORS>

        <PRICE>8000</PRICE>

        <MILEAGE>56000</MILEAGE>

        <OPTIONS>

            <Power_Locks>Yes</Power_Locks>

            <Power_Window>Yes</Power_Window>

            <Stereo>Radio/Cassette</Stereo>

            <Automatic>Yes</Automatic>

            <Note>Like New</Note>

        </OPTIONS>

        <OWNER>

            <NAME>Israel Hodgson </NAME>

            <EMAIL>IHodgson@aDomain.Com</EMAIL>

            <PHONE>781 781 782</PHONE>

        </OWNER>

    </VEHICLE>

    <VEHICLE>

        <INVENTORY_NUMBER>3</INVENTORY_NUMBER>

        <MAKE>Dodge</MAKE>

        <MODEL>Neon</MODEL>

        <YEAR>1996</YEAR>

        <PICTURE>DodgeNeon.jpg</PICTURE>

        <STYLE>Sedan</STYLE>

        <DOORS>4</DOORS>

        <PRICE>7000</PRICE>

        <MILEAGE>55000</MILEAGE>

        <OPTIONS>

            <Stereo>Radio/Cassette</Stereo>

            <Automatic>Yes</Automatic>

            <Note>Need minor body works</Note>

        </OPTIONS>

        <OWNER>

            <NAME>Arthur Shin </NAME>

            <EMAIL>IHodgson@aDomain.Com</EMAIL>

            <PHONE>781 781 782</PHONE>

        </OWNER>

    </VEHICLE>

    <VEHICLE>

        <INVENTORY_NUMBER>4</INVENTORY_NUMBER>

        <MAKE>Ferrari</MAKE>

        <MODEL>F355</MODEL>

        <YEAR>1995</YEAR>

        <PICTURE>FerrariF355.jpg</PICTURE>

        <STYLE>Sport</STYLE>

        <DOORS>2</DOORS>

        <PRICE>45000</PRICE>

        <MILEAGE>63000</MILEAGE>

        <OPTIONS>

            <Power_Locks>Yes</Power_Locks>

            <Power_Window>Yes</Power_Window>

            <Stereo>Radio/Cassette/CD</Stereo>

            <Air_Conditioning>Yes</Air_Conditioning>

            <Note>Luxury car</Note>

        </OPTIONS>

        <OWNER>

            <NAME>Jungchul Frye</NAME>

            <EMAIL>JFrye@aDomain.Com</EMAIL>

            <PHONE>781 781 782</PHONE>

        </OWNER>

    </VEHICLE>

    <VEHICLE>

        <INVENTORY_NUMBER>5</INVENTORY_NUMBER>

        <MAKE>BMW</MAKE>

        <MODEL>3 Series</MODEL>

        <YEAR>1998</YEAR>

        <PICTURE>BMWSeries3.jpg</PICTURE>

        <STYLE>Sedan</STYLE>

        <DOORS>4</DOORS>

        <PRICE>40000</PRICE>

        <MILEAGE>12000</MILEAGE>

        <OPTIONS>

            <Power_Locks>Yes</Power_Locks>

            <Power_Window>Yes</Power_Window>

            <Interiors>Leather</Interiors>

            <Stereo>Radio/Cassette/CD</Stereo>

            <Air_Conditioning>Yes</Air_Conditioning>

            <Note>Pre-owned</Note>

        </OPTIONS>

        <OWNER>

            <NAME>Bill Pease</NAME>

            <EMAIL>BPease@aDomain.Com</EMAIL>

            <PHONE>781 781 782</PHONE>

        </OWNER>

    </VEHICLE>

    <VEHICLE>

        <INVENTORY_NUMBER>6</INVENTORY_NUMBER>

        <MAKE>BMW</MAKE>

        <MODEL>Z3</MODEL>

        <YEAR>1998</YEAR>

        <PICTURE>BMWZ3.jpg</PICTURE>

        <STYLE>Convertible</STYLE>

        <DOORS>2</DOORS>

        <PRICE>33000</PRICE>

        <MILEAGE>24000</MILEAGE>

        <OPTIONS>

            <Cover_Material>Plastic</Cover_Material>

            <Power_Locks>Yes</Power_Locks>

            <Power_Window>Yes</Power_Window>

            <Alarm>Yes</Alarm>

            <Interiors>Fabric</Interiors>

            <Stereo>Radio/Cassette/CD</Stereo>

            <Air_Conditioning>Yes</Air_Conditioning>

            <Note>Pre-owned, very clean</Note>

        </OPTIONS>

        <OWNER>

            <NAME>Scott Tufo</NAME>

            <EMAIL>STufo@aDomain.Com</EMAIL>

            <PHONE>781 781 783</PHONE>

        </OWNER>

    </VEHICLE>

    <VEHICLE>

        <INVENTORY_NUMBER>7</INVENTORY_NUMBER>

        <MAKE>Dodge</MAKE>

        <MODEL>RAM</MODEL>

        <YEAR>1997</YEAR>

        <PICTURE>DodgeRAM1500.jpg</PICTURE>

        <STYLE>Truck</STYLE>

        <DOORS>2</DOORS>

        <PRICE>22000</PRICE>

        <MILEAGE>45000</MILEAGE>

        <OPTIONS>

            <Stereo>Radio</Stereo>

            <Max_Load>1500</Max_Load>

            <Note>Heavy duty Vehicle</Note>

        </OPTIONS>

        <OWNER>

            <NAME>Dealer</NAME>

        </OWNER>

    </VEHICLE>

    <VEHICLE>

        <INVENTORY_NUMBER>8</INVENTORY_NUMBER>

        <MAKE>Honda</MAKE>

        <MODEL>Accord</MODEL>

        <YEAR>1995</YEAR>

        <PICTURE>HondaAccord.jpg</PICTURE>

        <PRICE_YEN>25000000</PRICE_YEN>

        <STYLE>Sedan</STYLE>

        <DOORS>4</DOORS>

        <PRICE>8500</PRICE>

        <MILEAGE>145000</MILEAGE>

        <OPTIONS>

            <Power_Locks>Yes</Power_Locks>

            <Stereo>Radio/Cassette</Stereo>

            <Automatic>Yes</Automatic>

        </OPTIONS>

        <OWNER>

            <NAME>Bob Johnson</NAME>

            <PHONE>781 781 783</PHONE>

        </OWNER>

    </VEHICLE>

    <VEHICLE>

        <INVENTORY_NUMBER>9</INVENTORY_NUMBER>

        <MAKE>Dodge</MAKE>

        <MODEL>RAM 2500</MODEL>

        <YEAR>1996</YEAR>

        <PICTURE>DodgeRAM2500.jpg</PICTURE>

        <STYLE>Truck</STYLE>

        <DOORS>2</DOORS>

        <PRICE>25000</PRICE>

        <MILEAGE>23000</MILEAGE>

        <OPTIONS>

            <Stereo>Radio/Cassette</Stereo>

            <Max_Load>2500</Max_Load>

            <Note>Heavy duty truck</Note>

        </OPTIONS>

        <OWNER>

            <NAME>Pia Kinnear</NAME>

            <EMAIL>PKinnearo@aDomain.Com</EMAIL>

            <PHONE>781 781 784</PHONE>

        </OWNER>

    </VEHICLE>

    <VEHICLE>

        <INVENTORY_NUMBER>10</INVENTORY_NUMBER>

        <MAKE>Ford</MAKE>

        <MODEL>Explorer</MODEL>

        <YEAR>1996</YEAR>

        <PICTURE>FordExplorer.jpg</PICTURE>

        <STYLE>Sport Utility</STYLE>

        <DOORS>4</DOORS>

        <PRICE>18000</PRICE>

        <MILEAGE>105000</MILEAGE>

        <OPTIONS>

            <Power_Locks>Yes</Power_Locks>

            <Stereo>Radio/Cassette</Stereo>

            <Automatic>Yes</Automatic>

            <Interiors>Fabric</Interiors>

            <Air_Conditioning>Yes</Air_Conditioning>

            <Note>Pre-owned, very clean</Note>

        </OPTIONS>

        <OWNER>

            <NAME>Shawn Denoncour</NAME>

            <EMAIL>SDenoncour@aDomain.Com</EMAIL>

            <PHONE>781 781 785</PHONE>

        </OWNER>

    </VEHICLE>

</VEHICLES>

'XML' 카테고리의 다른 글

XML 연습 - TVSchedule  (0) 2015.06.22
3일차_DOM, 원격XML  (0) 2015.06.22
2일차_DTD, DOM, 로컬XML  (2) 2015.06.22
1일차_XML개요, 이력서정보XML표현  (1) 2015.06.22
XML_Java 연동  (0) 2015.06.01
블로그 이미지

알 수 없는 사용자

,

3일차_DOM, 원격XML

XML 2015. 6. 22. 23:17

-----------------------------------------------------

원격 XML 데이터 읽기 (Java 프로그램)

- 기상청 육상 중기예보

http://www.kma.go.kr/weather/forecast/mid-term-rss3.jsp?stnId=109


stnId=108 (전국)

stnId=109 (서울, 경기)

stnId=105 (강원)

stnId=131 (충청북도)

stnId=133 (충청남도)

stnId=146 (전라북도)

stnId=156 (전라남도)

stnId=143 (경상북도)

stnId=159 (경상남도)

stnId=184 (제주특별자치도)



//WeatherData.java

package com.test;


import javax.xml.parsers.*;


import org.w3c.dom.*;


import java.net.URL;


import org.xml.sax.InputSource;


public class WeatherData {


public static void main(String[] args) {


//1. 원격 XML 정보를 요청하고, 그 결과를 메모리에 로드 -> XML DOM 형성

//2. 루트 엘리먼트 접근

//3. 특정 하위 엘리먼트 접근 -> 위치, 이름을 기준으로 접근

//4. 텍스트 노드(속성 노드)를 접근 -> 데이터 획득

//5. 결과 출력.

//rss(루트)->channel->item->description->body->location

//->city(서울)->data(12시간)

//->data->tmEf(날짜)

//->data->wf(날씨)

//->data->tmn(최저기온)

//->data->tmx(최고기온)

try {

//원격 XML 정보를 요청하고, 그 결과를 메모리에 로드

DocumentBuilderFactory factory 

= DocumentBuilderFactory.newInstance();

DocumentBuilder builder

= factory.newDocumentBuilder();

Document xmlObj = null;

String str = "http://www.kma.go.kr/weather/forecast/mid-term-rss3.jsp?stnId=109";

URL url = new URL(str);

InputSource is = new InputSource(url.openStream());

xmlObj = builder.parse(is);

//루트 엘리먼트 접근

Element root = xmlObj.getDocumentElement();

//System.out.println(root.getNodeName()); //rss

NodeList itemNodes = root.getElementsByTagName("item");

Node itemNode = itemNodes.item(0);

Element itemElement = (Element)itemNode;

System.out.println(getText(itemElement, "title"));

NodeList locationNodes = root.getElementsByTagName("location");

//System.out.println(locationNodes.getLength());  //4

Node locationNode = locationNodes.item(0);

Element locationElement = (Element)locationNode;

//System.out.println(getText(locationElement, "city")); //서울

NodeList dataNodes = locationElement.getElementsByTagName("data");

for (int i=0; i<dataNodes.getLength(); ++i) {

Node dataNode = dataNodes.item(i);

Element dataElement = (Element)dataNode;

System.out.printf("%s %s %s %s %n"

, getText(dataElement, "tmEf") //날짜

, getText(dataElement, "wf") //날씨

, getText(dataElement, "tmn") //최저기온

, getText(dataElement, "tmx") //최고기온

);

}

}catch(Exception e){

e.printStackTrace();

}

}

private static String getText(Element parent, String tagName) {

String result = "";

//특정 태그 이름을 가진 객체의 첫 번째 자식 노드를 얻는 과정

Node node = parent.getElementsByTagName(tagName).item(0);

Element element = (Element)node;

//특정 엘리먼트의 자식 노드(Text Node)의 값(nodeValue)를 얻는 과정

result = element.getChildNodes().item(0).getNodeValue();

return result;

}


}




-----------------------------------------------------

원격 XML 데이터 읽기 (Java 프로그램)

- RSS.xml 정보를 읽어내서 아래와 같이 출력하는 프로그램 작성

- http://rss.hankooki.com/daily/dh_it_tech.xml


//RSS.java

package com.test;


import java.net.URL;


import javax.xml.parsers.*;


import org.w3c.dom.*;

import org.xml.sax.InputSource;


public class RSS {


public static void main(String[] args) {

//1. 원격 XML 정보를 요청하고, 그 결과를 메모리에 로드 -> XML DOM 형성

//2. 루트 엘리먼트 접근

//3. 특정 하위 엘리먼트 접근 -> 위치, 이름을 기준으로 접근

//4. 텍스트 노드(속성 노드)를 접근 -> 데이터 획득

//5. 결과 출력.


try {


//원격 XML 정보를 요청하고, 그 결과를 메모리에 로드

DocumentBuilderFactory factory 

= DocumentBuilderFactory.newInstance();

DocumentBuilder builder

= factory.newDocumentBuilder();

Document xmlObj = null;

String str = "http://rss.hankooki.com/daily/dh_it_tech.xml";

URL url = new URL(str);

InputSource is = new InputSource(url.openStream());

xmlObj = builder.parse(is);

Element root = xmlObj.getDocumentElement(); // root 접근

NodeList channelNodes = root.getElementsByTagName("channel");

Node channelNode = channelNodes.item(0);

Element channelElement = (Element)channelNode;

System.out.println("--------------------------------------------------");

System.out.printf("title> %s %n", getText(channelElement, "title"));

System.out.printf("link> %s %n", getText(channelElement, "link"));

System.out.printf("description> %s %n%n",getText(channelElement, "description"));

System.out.println("주요 기사 ------------------------");

NodeList itemNodes = channelElement.getElementsByTagName("item");

for (int i=0; i<itemNodes.getLength(); i++) {

Node itemNode = itemNodes.item(i);

Element itemElement = (Element)itemNode;

System.out.printf("title> %s %n", getText(itemElement, "title"));

System.out.printf("link> %s %n", getText(itemElement, "link"));

System.out.printf("description> %s %n%n", getText(itemElement, "description"));

}

}catch(Exception e){

e.printStackTrace();

}


}

private static String getText(Element parent, String tagName) {

String result = "";

// 특정 태그 이름을 가진 객체의 첫 번째 자식 노드를 얻는 과정

Node node = parent.getElementsByTagName(tagName).item(0);

Element element = (Element) node;

// 특정 엘리먼트의 자식 노드(Text Node)의 값(nodeValue)를 얻는 과정

result = element.getChildNodes().item(0).getNodeValue();

return result;

}


}












-----------------------------------------------------

원격 XML 데이터 읽기 (JSP 프로그램)

- 기상청 육상 중기예보

http://www.kma.go.kr/weather/forecast/mid-term-rss3.jsp?stnId=109


stnId=108 (전국)

stnId=109 (서울, 경기)

stnId=105 (강원)

stnId=131 (충청북도)

stnId=133 (충청남도)

stnId=146 (전라북도)

stnId=156 (전라남도)

stnId=143 (경상북도)

stnId=159 (경상남도)

stnId=184 (제주특별자치도)



1. 프로그램 구성

//Weather.java -> 사용자 정의 자료형 클래스.

//WeatherDAO.java -> 날씨 정보 확인 액션 클래스.

//Weather.jsp -> 지역 선택. 서브밋 액션. 날씨 정보 확인 및 출력.


2. 프로그램 소스 코드

//Weather.java -> 사용자 정의 자료형 클래스.

package com.test;


//자료형 클래스

public class Weather {

//날짜, 날씨, 최저기온, 최고기온

private String tmEf, wf, tmn, tmx;


public String getTmEf() {

return tmEf;

}


public void setTmEf(String tmEf) {

this.tmEf = tmEf;

}


public String getWf() {

return wf;

}


public void setWf(String wf) {

this.wf = wf;

}


public String getTmn() {

return tmn;

}


public void setTmn(String tmn) {

this.tmn = tmn;

}


public String getTmx() {

return tmx;

}


public void setTmx(String tmx) {

this.tmx = tmx;

}

}








//WeatherDAO.java -> 날씨 정보 확인 액션 클래스.

package com.test;


import java.util.*;

import javax.xml.parsers.*;

import org.w3c.dom.*;

import java.io.*;

import java.net.URL;

import org.xml.sax.*;


public class WeatherDAO {

//메소드들 간에 데이터 공유->멤버변수 등록

private Document xmlObj = null;

public void init(String stnId) throws ParserConfigurationException, IOException, SAXException {

//문제)

//원격 XML 요청 액션 

//결과를 xmlObj 변수에 저장

DocumentBuilderFactory factory 

= DocumentBuilderFactory.newInstance();

DocumentBuilder builder

= factory.newDocumentBuilder();

String str = String.format("http://www.kma.go.kr/weather/forecast/mid-term-rss3.jsp?stnId=%s",stnId); //"날씨 정보 요청URL";

//http://www.kma.go.kr/weather/forecast/mid-term-rss3.jsp?stnId=109

URL url = new URL(str);

InputSource is = new InputSource(url.openStream());

xmlObj = builder.parse(is);

}

public ArrayList<Weather> weatherList() {

ArrayList<Weather> result = new ArrayList<Weather>();

//문제)

//xmlObj 변수를 이용해서 XML 객체(엘리먼트) 분석

//날짜, 날씨, 최저기온, 최고기온 정보를 읽어내서

//컬렉션에 저장 및 반환

Element root = xmlObj.getDocumentElement();

NodeList weatherNodes = root.getElementsByTagName("location");

Node weatherNode = weatherNodes.item(0);

Element weatherElement = (Element)weatherNode;

NodeList dataNodes= weatherElement.getElementsByTagName("data");


for(int i=0; i<dataNodes.getLength(); ++i){


Node dataNode = dataNodes.item(i);

Element dataElement = (Element)dataNode;


Weather wt = new Weather();

wt.setTmEf(getText(dataElement,"tmEf"));

wt.setWf(getText(dataElement,"wf"));

wt.setTmn(getText(dataElement,"tmn"));

wt.setTmx(getText(dataElement,"tmx"));


result.add(wt);

}

return result;

}

public String getTitle() {

String result = "";

//문제)

//xmlObj 변수를 이용해서 XML 객체(엘리먼트) 분석

//타이틀 정보를 읽어내서

//result 변수에 저장 및 반환

       Element root = xmlObj.getDocumentElement();


       NodeList itemNodes = root.getElementsByTagName("item");

       Node itemNode = itemNodes.item(0);

       Element itemElement = (Element)itemNode;


       result = getText(itemElement, "title");   

      

return result;

}


private static String getText(Element parent, String tagName) {

String result = "";

//특정 태그 이름을 가진 객체의 첫 번째 자식 노드를 얻는 과정

Node node = parent.getElementsByTagName(tagName).item(0);

Element element = (Element)node;

//특정 엘리먼트의 자식 노드(Text Node)의 값(nodeValue)를 얻는 과정

result = element.getChildNodes().item(0).getNodeValue();

return result;

}


}








//Weather.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<%@ page import="com.test.*" %>

<%

String stnId = request.getParameter("stnId");


String title = "";

StringBuilder sb = new StringBuilder();


if (stnId == null) {

stnId = "108"; //"전국" 날씨 기본값 처리

}


WeatherDAO dao = new WeatherDAO();

try {

dao.init(stnId); //XML 요청 액션 전용 메소드

title = dao.getTitle(); //타이틀 정보 요청 메소드

for (Weather w : dao.weatherList()) { //날씨 정보 요청 메소드

sb.append(String.format("<tr>"));

sb.append(String.format("<td>%s</td>", w.getTmEf()));

sb.append(String.format("<td>%s</td>", w.getWf()));

sb.append(String.format("<td>%s</td>", w.getTmn()));

sb.append(String.format("<td>%s</td>", w.getTmx()));

sb.append(String.format("</tr>"));

}

}catch(Exception e){

e.printStackTrace();

}


%>    

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>날씨 정보</title>


<link rel="stylesheet" type="text/css" href="TableStyle.css">

<link rel="stylesheet" type="text/css" href="DivStyle.css">


<script type="text/javascript">

window.onload=function() {

   var stnIds = document.getElementsByName("stnId");

   for (var i=0; i<stnIds.length; ++i) {

      var stnId = stnIds[i];

      if (stnId.value == "<%=stnId%>") {

         stnId.checked = true;

      }

   }

};

</script>


</head>

<body>

<div>

<div>

<h1>기상청 육상 중기예보</h1>

<h2>지역 선택</h2>

<form method="post">

<input type="radio" name="stnId" value="108"> 전국

<input type="radio" name="stnId" value="109"> 서울,경기

<input type="radio" name="stnId" value="105"> 강원

<input type="radio" name="stnId" value="131"> 충청북도

<input type="radio" name="stnId" value="133"> 충청남도

<br>

<input type="radio" name="stnId" value="146"> 전라북도

<input type="radio" name="stnId" value="156"> 전라남도

<input type="radio" name="stnId" value="143"> 경상북도

<input type="radio" name="stnId" value="159"> 경상남도

<input type="radio" name="stnId" value="184"> 제주특별자치도

<br>

<input type ="submit">

</form>

<h2>날씨 정보</h2>

<p>TITLE : <%=title%></p>

<table id="t01">

<tr>

<th>날짜</th><th>날씨</th>

<th>최저기온</th><th>최고기온</th>

</tr>

<%=sb.toString()%>

</table>

</div>


</div>

</body>

</html>





//요청주소

http://localhost:8090/프로젝트이름/Weather.jsp




------------------------------------------

팀별과제) RSS 정보 요청 JSP 페이지 작성할 것.


한국일보 - http://rss.hankooki.com/daily/dh_it_tech.xml

한겨레 - http://kr.hani.feedsportal.com/c/34762/f/640640/index.rss

조선일보 - http://www.chosun.com/site/data/rss/sports.xml

동아일보 - http://rss.donga.com/science.xml

노컷뉴스 - http://rss.nocutnews.co.kr/nocutnews.xml



//RSSInfo.java -> 자료형 클래스

//RSSDOM.java -> 액션 클래스. RSS 정보 요청 액션.


//RSSSend.jsp -> 주소 요청 페이지. 메인 페이지.

//RSSReceive.jsp -> 결과 출력 페이지




-----------------------------------------------

















'XML' 카테고리의 다른 글

XML 연습 - TVSchedule  (0) 2015.06.22
XML 연습 - 자동차 구조 분석  (0) 2015.06.22
2일차_DTD, DOM, 로컬XML  (2) 2015.06.22
1일차_XML개요, 이력서정보XML표현  (1) 2015.06.22
XML_Java 연동  (0) 2015.06.01
블로그 이미지

알 수 없는 사용자

,

2일차_DTD, DOM, 로컬XML

XML 2015. 6. 22. 23:17

-----------------------------------------------------

DTD


1. XML 문서의 엘리먼트, 속성에 대한 구조(structure)를 표현한 문서.


2. DTD 샘플

<!DOCTYPE 루트엘리먼트

[

<!ELEMENT 루트엘리먼트 (1차하위엘리먼트 목록)>

<!ELEMENT 1차하위엘리먼트 (2차하위엘리먼트 목록)>

<!ELEMENT 2차하위엘리먼트 (#PCDATA)>

<!ATTLIST 2차하위엘리먼트

속성이름 속성값 필수여부

... >

]>


3. DTD와 XML 문서의 결합

- 별도의 .dtd 파일 작성 후에 XML 문서와 연결

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE note SYSTEM "Note.dtd">

<note>

<to>Tove</to>

<from>Jani</from>

<heading>Reminder</heading>

<body>Don't forget me this weekend!</body>

</note>




- XML 문서 내부에 삽입

<?xml version="1.0" encoding="UTF-8"?>


<!DOCTYPE note

[

<!ELEMENT note (to,from,heading,body)>

<!ELEMENT to (#PCDATA)>

<!ELEMENT from (#PCDATA)>

<!ELEMENT heading (#PCDATA)>

<!ELEMENT body (#PCDATA)>

]>


<note>

<to>Tove</to>

<from>Jani</from>

<heading>Reminder</heading>

<body>Don't forget me this weekend!</body>

<footer>&writer;&nbsp;&copyright;</footer>

</note>





//Schedule.xml

<?xml version="1.0" encoding="UTF-8"?>


<!-- XML 문서의 구조를 설명하는 DTD 추가 -->

<!DOCTYPE scheduleList [

<!-- 엘리먼트 종류를 나열한다. 순서는 관계없다. -->

<!-- 엘리먼트 정의에서 () 안에 하위 엘리먼트 순서 또는 #PCDATA 표기 -->

<!-- 하위 엘리먼트 나열시 반복 횟수 지정 필요 -->

<!ELEMENT scheduleList (schedule)+>

<!ELEMENT schedule (date, hour, content)>

<!ELEMENT date (#PCDATA)>

<!ELEMENT hour (#PCDATA)>

<!ELEMENT content (#PCDATA)>

<!-- 속성을 가진 엘리먼트는 속성 이름을 별도 추가한다. -->

<!ATTLIST schedule sid CDATA #REQUIRED>

]>


<scheduleList>

<schedule sid="1">

<date>2015-05-22</date>

<hour>09</hour>

<content>프로젝트 시작</content>

</schedule>

<schedule sid="2">

<date>2015-01-01</date>

<hour>09</hour>

<content>신정</content>

</schedule>

<schedule sid="3">

<date>2015-05-26</date>

<hour>09</hour>

<content>일정관리 프로그램 테스트</content>

</schedule>

<schedule sid="4">

<date>2015-05-26</date>

<hour>09</hour>

<content>DTD</content>

</schedule>

</scheduleList>






//MemberList.xml

<?xml version="1.0" encoding="UTF-8"?>


<!DOCTYPE MemberList

[

<!ELEMENT MemberList (memberInfo)+>

<!ELEMENT memberInfo (name, telephone, email)>

<!ATTLIST memberInfo

mid CDATA #REQUIRED>

<!ELEMENT name (#PCDATA)>

<!ELEMENT telephone (#PCDATA)>

<!ELEMENT email (#PCDATA)>

]>


<MemberList>

<memberInfo mid="1">

<name>홍길동</name>

<telephone>010-123-1234</telephone>

<email><![CDATA[hong@naver.com]]></email>

</memberInfo>

<memberInfo mid="2">

<name>박길동</name>

<telephone>010-432-4321</telephone>

<email><![CDATA[park@naver.com]]></email>

</memberInfo>

</MemberList>





//messages.xml

<?xml version="1.0" encoding="UTF-8"?>


<!DOCTYPE messages [

<!ELEMENT messages (note)+>

<!ELEMENT note (to, from, heading, body)>

<!ATTLIST note

id CDATA #REQUIRED

date CDATA #REQUIRED>

<!ELEMENT to (#PCDATA)>

<!ELEMENT from (#PCDATA)>

<!ELEMENT heading (#PCDATA)>

<!ELEMENT body (#PCDATA)>

]>


<messages>

  <note id="501" date="2014-11-26">

    <to><![CDATA[Tove]]></to>

    <from><![CDATA[Jani]]></from>

    <heading><![CDATA[Reminder]]></heading>

    <body><![CDATA[Don't forget me this weekend!]]></body>

  </note>

  <note id="502" date="2014-11-27">

    <to><![CDATA[Jani]]></to>

    <from><![CDATA[Tove]]></from>

    <heading><![CDATA[Re: Reminder]]></heading>

    <body><![CDATA[I will not]]></body>

  </note>

</messages>



팀별과제) 이력서 정보를 XML(DTD 포함) 로 표현해 봅니다.

- 이름, 주소, 연락처, 경력 사항(...), 자격증(...), 학력 사항(...), 사진.

<?xml version="1.0" encoding="UTF-8"?>


<!DOCTYPE curriculumVitaes [

<!ELEMENT curriculumVitaes (curriculumVitae)+>

<!ELEMENT curriculumVitae ( ....  )>

...

]>


<curriculumVitaes>

<curriculumVitae sid="1">

</curriculumVitae>

<curriculumVitae sid="2">

</curriculumVitae>

</curriculumVitaes>





-----------------------------------------------------

로컬 XML 데이터 읽기 (Java 프로그램)

- VEHICLES.xml



//VEHICLES.xml

<?xml version="1.0" encoding="utf-8"?>

<VEHICLES>

    <LAST_INVENTORY_NUMBER>11</LAST_INVENTORY_NUMBER>

    <VEHICLE>

        <INVENTORY_NUMBER>1</INVENTORY_NUMBER>

        <MAKE>Dodge</MAKE>

        <MODEL>Durango</MODEL>

        <YEAR>1998</YEAR>

        <PICTURE>DodgeDurango.jpg</PICTURE>

        <STYLE>Sport Utility</STYLE>

        <DOORS>4</DOORS>

        <PRICE>18000</PRICE>

        <MILEAGE>32000</MILEAGE>

        <OPTIONS>

            <Power_Locks>Yes</Power_Locks>

            <Power_Window>Yes</Power_Window>

            <Stereo>Radio/Cassette/CD</Stereo>

            <Air_Conditioning>Yes</Air_Conditioning>

            <Automatic>Yes</Automatic>

            <Four_Wheel_Drive>Full/Partial</Four_Wheel_Drive>

            <Note>Very clean</Note>

        </OPTIONS>

        <OWNER>

            <NAME>Douglas Briggs </NAME>

            <EMAIL>DBriggs@aDomain.Com</EMAIL>

            <PHONE>781 781 7811</PHONE>

        </OWNER>

    </VEHICLE>

    <VEHICLE>

        <INVENTORY_NUMBER>2</INVENTORY_NUMBER>

        <MAKE>Honda</MAKE>

        <MODEL>Civic</MODEL>

        <YEAR>1997</YEAR>

        <PICTURE>HondaCivic.jpg</PICTURE>

        <PRICE_YEN>20000000</PRICE_YEN>

        <STYLE>Sedan</STYLE>

        <DOORS>4</DOORS>

        <PRICE>8000</PRICE>

        <MILEAGE>56000</MILEAGE>

        <OPTIONS>

            <Power_Locks>Yes</Power_Locks>

            <Power_Window>Yes</Power_Window>

            <Stereo>Radio/Cassette</Stereo>

            <Automatic>Yes</Automatic>

            <Note>Like New</Note>

        </OPTIONS>

        <OWNER>

            <NAME>Israel Hodgson </NAME>

            <EMAIL>IHodgson@aDomain.Com</EMAIL>

            <PHONE>781 781 782</PHONE>

        </OWNER>

    </VEHICLE>

    <VEHICLE>

        <INVENTORY_NUMBER>3</INVENTORY_NUMBER>

        <MAKE>Dodge</MAKE>

        <MODEL>Neon</MODEL>

        <YEAR>1996</YEAR>

        <PICTURE>DodgeNeon.jpg</PICTURE>

        <STYLE>Sedan</STYLE>

        <DOORS>4</DOORS>

        <PRICE>7000</PRICE>

        <MILEAGE>55000</MILEAGE>

        <OPTIONS>

            <Stereo>Radio/Cassette</Stereo>

            <Automatic>Yes</Automatic>

            <Note>Need minor body works</Note>

        </OPTIONS>

        <OWNER>

            <NAME>Arthur Shin </NAME>

            <EMAIL>IHodgson@aDomain.Com</EMAIL>

            <PHONE>781 781 782</PHONE>

        </OWNER>

    </VEHICLE>

    <VEHICLE>

        <INVENTORY_NUMBER>4</INVENTORY_NUMBER>

        <MAKE>Ferrari</MAKE>

        <MODEL>F355</MODEL>

        <YEAR>1995</YEAR>

        <PICTURE>FerrariF355.jpg</PICTURE>

        <STYLE>Sport</STYLE>

        <DOORS>2</DOORS>

        <PRICE>45000</PRICE>

        <MILEAGE>63000</MILEAGE>

        <OPTIONS>

            <Power_Locks>Yes</Power_Locks>

            <Power_Window>Yes</Power_Window>

            <Stereo>Radio/Cassette/CD</Stereo>

            <Air_Conditioning>Yes</Air_Conditioning>

            <Note>Luxury car</Note>

        </OPTIONS>

        <OWNER>

            <NAME>Jungchul Frye</NAME>

            <EMAIL>JFrye@aDomain.Com</EMAIL>

            <PHONE>781 781 782</PHONE>

        </OWNER>

    </VEHICLE>

    <VEHICLE>

        <INVENTORY_NUMBER>5</INVENTORY_NUMBER>

        <MAKE>BMW</MAKE>

        <MODEL>3 Series</MODEL>

        <YEAR>1998</YEAR>

        <PICTURE>BMWSeries3.jpg</PICTURE>

        <STYLE>Sedan</STYLE>

        <DOORS>4</DOORS>

        <PRICE>40000</PRICE>

        <MILEAGE>12000</MILEAGE>

        <OPTIONS>

            <Power_Locks>Yes</Power_Locks>

            <Power_Window>Yes</Power_Window>

            <Interiors>Leather</Interiors>

            <Stereo>Radio/Cassette/CD</Stereo>

            <Air_Conditioning>Yes</Air_Conditioning>

            <Note>Pre-owned</Note>

        </OPTIONS>

        <OWNER>

            <NAME>Bill Pease</NAME>

            <EMAIL>BPease@aDomain.Com</EMAIL>

            <PHONE>781 781 782</PHONE>

        </OWNER>

    </VEHICLE>

    <VEHICLE>

        <INVENTORY_NUMBER>6</INVENTORY_NUMBER>

        <MAKE>BMW</MAKE>

        <MODEL>Z3</MODEL>

        <YEAR>1998</YEAR>

        <PICTURE>BMWZ3.jpg</PICTURE>

        <STYLE>Convertible</STYLE>

        <DOORS>2</DOORS>

        <PRICE>33000</PRICE>

        <MILEAGE>24000</MILEAGE>

        <OPTIONS>

            <Cover_Material>Plastic</Cover_Material>

            <Power_Locks>Yes</Power_Locks>

            <Power_Window>Yes</Power_Window>

            <Alarm>Yes</Alarm>

            <Interiors>Fabric</Interiors>

            <Stereo>Radio/Cassette/CD</Stereo>

            <Air_Conditioning>Yes</Air_Conditioning>

            <Note>Pre-owned, very clean</Note>

        </OPTIONS>

        <OWNER>

            <NAME>Scott Tufo</NAME>

            <EMAIL>STufo@aDomain.Com</EMAIL>

            <PHONE>781 781 783</PHONE>

        </OWNER>

    </VEHICLE>

    <VEHICLE>

        <INVENTORY_NUMBER>7</INVENTORY_NUMBER>

        <MAKE>Dodge</MAKE>

        <MODEL>RAM</MODEL>

        <YEAR>1997</YEAR>

        <PICTURE>DodgeRAM1500.jpg</PICTURE>

        <STYLE>Truck</STYLE>

        <DOORS>2</DOORS>

        <PRICE>22000</PRICE>

        <MILEAGE>45000</MILEAGE>

        <OPTIONS>

            <Stereo>Radio</Stereo>

            <Max_Load>1500</Max_Load>

            <Note>Heavy duty Vehicle</Note>

        </OPTIONS>

        <OWNER>

            <NAME>Dealer</NAME>

        </OWNER>

    </VEHICLE>

    <VEHICLE>

        <INVENTORY_NUMBER>8</INVENTORY_NUMBER>

        <MAKE>Honda</MAKE>

        <MODEL>Accord</MODEL>

        <YEAR>1995</YEAR>

        <PICTURE>HondaAccord.jpg</PICTURE>

        <PRICE_YEN>25000000</PRICE_YEN>

        <STYLE>Sedan</STYLE>

        <DOORS>4</DOORS>

        <PRICE>8500</PRICE>

        <MILEAGE>145000</MILEAGE>

        <OPTIONS>

            <Power_Locks>Yes</Power_Locks>

            <Stereo>Radio/Cassette</Stereo>

            <Automatic>Yes</Automatic>

        </OPTIONS>

        <OWNER>

            <NAME>Bob Johnson</NAME>

            <PHONE>781 781 783</PHONE>

        </OWNER>

    </VEHICLE>

    <VEHICLE>

        <INVENTORY_NUMBER>9</INVENTORY_NUMBER>

        <MAKE>Dodge</MAKE>

        <MODEL>RAM 2500</MODEL>

        <YEAR>1996</YEAR>

        <PICTURE>DodgeRAM2500.jpg</PICTURE>

        <STYLE>Truck</STYLE>

        <DOORS>2</DOORS>

        <PRICE>25000</PRICE>

        <MILEAGE>23000</MILEAGE>

        <OPTIONS>

            <Stereo>Radio/Cassette</Stereo>

            <Max_Load>2500</Max_Load>

            <Note>Heavy duty truck</Note>

        </OPTIONS>

        <OWNER>

            <NAME>Pia Kinnear</NAME>

            <EMAIL>PKinnearo@aDomain.Com</EMAIL>

            <PHONE>781 781 784</PHONE>

        </OWNER>

    </VEHICLE>

    <VEHICLE>

        <INVENTORY_NUMBER>10</INVENTORY_NUMBER>

        <MAKE>Ford</MAKE>

        <MODEL>Explorer</MODEL>

        <YEAR>1996</YEAR>

        <PICTURE>FordExplorer.jpg</PICTURE>

        <STYLE>Sport Utility</STYLE>

        <DOORS>4</DOORS>

        <PRICE>18000</PRICE>

        <MILEAGE>105000</MILEAGE>

        <OPTIONS>

            <Power_Locks>Yes</Power_Locks>

            <Stereo>Radio/Cassette</Stereo>

            <Automatic>Yes</Automatic>

            <Interiors>Fabric</Interiors>

            <Air_Conditioning>Yes</Air_Conditioning>

            <Note>Pre-owned, very clean</Note>

        </OPTIONS>

        <OWNER>

            <NAME>Shawn Denoncour</NAME>

            <EMAIL>SDenoncour@aDomain.Com</EMAIL>

            <PHONE>781 781 785</PHONE>

        </OWNER>

    </VEHICLE>

</VEHICLES>





//XmlDom01.java

package com.test;


import javax.xml.parsers.*;

import org.w3c.dom.*;


public class DOM01 {


public static void main(String[] args) {


//1. XML 파일을 메모리에 로드 -> XML DOM 형성

//2. 루트 엘리먼트 접근

//3. 특정 하위 엘리먼트 접근 -> 위치, 이름을 기준으로 접근

//4. 텍스트 노드(속성 노드)를 접근 -> 데이터 획득

//5. 결과 출력.

try {

//XML 파일을 메모리에 로드 -> XML DOM 형성

DocumentBuilderFactory factory

= DocumentBuilderFactory.newInstance();

DocumentBuilder builder

= factory.newDocumentBuilder();

Document xmlObj = null;

//주의) VEHICLES.xml 파일을 프로젝트명 하위에 복사할 것

String url = "VEHICLES.xml";

xmlObj = builder.parse(url);

//루트 엘리먼트 접근

Element root = xmlObj.getDocumentElement();

//System.out.println(root.getNodeName()); //VEHICLES

//특정 하위 엘리먼트 접근 -> 위치, 이름을 기준으로 접근

//getElementsByTagName()는 태그 이름을 가지고 자식(자손) 노드 접근하는 메소드

NodeList vehicleNodeList = root.getElementsByTagName("VEHICLE");

//NodeList 객체에 들어있는 Node의 갯수를 getLength() 메소드로 확인할 수 있다.

for (int i=0; i<vehicleNodeList.getLength(); i++) {

//item()은 인덱스에 위한 노드 접근 메소드

Node vehicleNode = vehicleNodeList.item(i);

//캐스트 연산자를 이용하면 Node 객체를 Element 객체로 변환 가능

Element vehicleElement = (Element)vehicleNode;

//System.out.println(vehicleElement.getNodeName()); //VEHICLE

//특정 엘리먼트의 텍스트 데이터를 얻는 

//사용자 정의 메소드 getText() 호출

System.out.printf("%s %s %s %s %s %n"

, getText(vehicleElement, "MAKE")

, getText(vehicleElement, "MODEL")

, getText(vehicleElement, "YEAR")

, getText(vehicleElement, "PICTURE")

, getText(vehicleElement, "STYLE"));


}


}catch(Exception e){

e.printStackTrace();

}

}

private static String getText(Element parent, String tagName) {

String result = "";

//특정 태그 이름을 가진 객체의 첫 번째 자식 노드를 얻는 과정

Node node = parent.getElementsByTagName(tagName).item(0);

Element element = (Element)node;

//특정 엘리먼트의 자식 노드(Text Node)의 값(nodeValue)를 얻는 과정

result = element.getChildNodes().item(0).getNodeValue();

return result;

}


}





//MemberList.xml

<?xml version="1.0" encoding="UTF-8"?>

<!-- 선언문 필수 -->

<!-- 루트 엘리먼트 필수 -->

<memberList>

<!-- 하위 엘리먼트는 선택적으로 추가 가능 -->

<!-- 적절한 부모 엘리먼트 지정 필요 -->

<memberInfo mid="1">

<name>홍길동</name>

<telephone>010-123-1234</telephone>

<email><![CDATA[hong@naver.com]]></email>

<address>서울</address>

</memberInfo>

<memberInfo mid="2">

<name>박길동</name>

<telephone>010-432-4321</telephone>

<email><![CDATA[park@naver.com]]></email>

</memberInfo>

</memberList>







//DOM02.java

package com.test;


import javax.xml.parsers.*;

import org.w3c.dom.*;


public class DOM02 {


public static void main(String[] args) {

try {

DocumentBuilderFactory factory

= DocumentBuilderFactory.newInstance();

DocumentBuilder builder

= factory.newDocumentBuilder();

Document xmlObj = null;

//주의) MemberList.xml 파일을 프로젝트명 하위에 복사할 것

String url = "MemberList.xml";

xmlObj = builder.parse(url);

Element root = xmlObj.getDocumentElement();

NodeList memberInfoNodes = root.getElementsByTagName("memberInfo");

for (int i=0; i<memberInfoNodes.getLength(); i++) {

Node memberInfoNode = memberInfoNodes.item(i);

Element memberInfoElement = (Element)memberInfoNode;

System.out.printf("%s %s %s %n"

, getText(memberInfoElement, "name")

, getText(memberInfoElement, "telephone")

, getText(memberInfoElement, "email"));

}

}catch(Exception e){

e.printStackTrace();

}

}

private static String getText(Element parent, String tagName) {

String result = "";

//특정 태그 이름을 가진 객체의 첫 번째 자식 노드를 얻는 과정

Node node = parent.getElementsByTagName(tagName).item(0);

Element element = (Element)node;

//특정 엘리먼트의 자식 노드(Text Node)의 값(nodeValue)를 얻는 과정

result = element.getChildNodes().item(0).getNodeValue();

return result;

}


}









-----------------------------------------

문제) VEHICLES.xml 파일의 정보를 읽어내서 아래와 같은 정보를 출력합니다.

출력 예)

-------------------------------------------

NO MAKE  MODEL   YEAR STYLE         PRICE

-------------------------------------------

1  Dodge Durango 1998 Sport Utility $18,000

Options----------

Power_Locks : Yes

Power_Window : Yes

Stereo : Radio/Cassette/CD


...

--------------------------------------------







-----------------------------------------

팀별과제) 아래의 RSS.xml 정보를 읽어내서 아래와 같이 출력하는 프로그램 작성.


//RSS.xml

<?xml version="1.0" encoding="utf-8"?>

<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/"

xmlns:y="http://www.yahoo.com/y-namespace" xmlns:fn="http://www.w3.org/2004/10/xpath-functions"

xmlns:atom="http://www.w3.org/2005/Atom">

<channel>

<title>한국일보 주요기사</title>

<link>http://hankookilbo.com</link>

<description>한국일보 주요기사 RSS 서비스</description>

<copyright>Copyright 2014 한국일보사</copyright>

<item>

<title><![CDATA[재계 사업재편 주판알 바빠진다]]></title>

<description><![CDATA[선택과 집중 위해 비주력사업 정리… 포스코, 특수강 팔고 동양파워 인수

삼성&#183;한화 빅딜은 신호탄에 불과, 결과 따라 대기업 판도 요동칠 듯

  

 삼성과 한화의 빅딜을 계기로 대기업들의 사업재편 방향에 대한 관심이 커지고 있는 가운데 ‘선택과 집중’을 위한 대형 인수합병(M&amp;A)과 매각이 잇따를 가능성이 높은 것으로 점쳐지고 있다. 주요 대기업들은 이미 주력사업과 미래 신성장 사업에 집중하기 위해 돈이 되는 알짜 사업들과 수익창출에 기여해 온 비주력사업을 과감하게 팔고 있다. 더 잘할 수 있는 분야에 집중하기 위해 경쟁사가 탐내는 집안의 보물을 아낌없이 파는  ‘덧셈 뺄셈의 경영’이 이어지면서 그 성패에 따라 재계 판도가 크게 바뀔 전망이다.

 포스코는 매년 수백억원의 안정적 수익을 안겨준 포스코특수강을 세아그룹에 매각할 예정이며, 전남 광양의 액화천연가스(LNG)터미널 지분과 제철 부산물 판매회사인 포스화인도 처분한다. 남미 조림사업 법인인 포스코-우루과이와 경남 창원의 대우백화점, 베트남 다이아몬드플라자 백화점도 매각대상에 포함시켰다. 대신 철강을 핵심 축으로 삼고 에너지와 소재를 신성장사업으로 육성한다는 방침에 따라 석탄발전회사 동양파워를 인수하고 리튬 직접 추출기술 상용화에 투자를 집중하고 있다. 

 두산그룹도 최근 두산동아를 인터넷서점 예스24에 매각하면서 마지막 남은 소비재 사업에서 손을 뗐다. 두산동아는 지난해 73억원의 영업이익을 냈지만 주력사업과 거리가 멀다는 것이 매각 이유다. 버거킹과 KFC 매각을 통해 식품사업에서도 철수한 두산은 최근 20년간 소비재사업을 모두 정리하고 중공업과 건설장비 전문업체로 자리매김했다. 여기에 연료전지 사업을 신성장동력으로 삼아 최근 기술력이 뛰어난 2개사를 국내외에서 인수했다.

 효성그룹도 지난달 페트병 등 음료용기를 제조하는 패키징 사업부문을 4,150억원에 매각했다. 매년 수백억원씩 이익을 안겨주던 시장점유율 1위의 알짜사업이었지만 재무구조 개선과 핵심역량 강화를 위해 과감히 매물로 내놓은 것이다. 효성은 대신 탄소섬유와 폴리케톤 등 첨단소재 사업에 투자를 집중할 계획이다. KT도 비주력사업 정리 차원에서 국내 1위 렌터카 운영업체인 kt렌탈의 매각을 진행 중이며, LG전자와 삼성SDI도 사업성이 떨어지는 PDP TV 시장에서 철수했다. 동부그룹과 현대그룹의 경우 채권단과의 재무구조 약정 이행을 위한 성격이 강하지만, 핵심사업 매각을 통해 새로운 성장동력을 찾는데 역시 주력하고 있다.      

 26일 빅딜을 단행한 삼성과 한화도 주력사업과 미래 먹거리 사업에 대한 투자를 더욱 늘릴 방침이다. 삼성의 경우 화학과 방산사업 포기를 계기로 전자와 금융, 건설ㆍ중공업을 축으로 바이오 등 신수종 사업에 대한 통 큰 투자가 예상된다. 한화도 이번 인수합병으로 석유화학과 방산, 태양광, 첨단소재산업이 4대 성장 축으로 확실히 자리매김했다. 앞서 포장지 제조업체 폴리드리머와 24시간 편의점 씨스페이스, 제약업체인 드림파마와 소재업체인 한화 L&amp;C의 건자재 사업부문을 그룹에서 분리하거나 매각한 것도 사업재편을 위한 선택이었다.  

 전문가들은 지금까지의 사업재편은 시작에 불과하며 향후 10년 동안 대기업간 대형 M&amp;A가 국내외에서 활발하게 이뤄질 것으로 전망하고 있다. 하태형 현대경제연구원 원장은 “미국 기업들은 1990년대부터 인수합병을 통한 전문화와 사업재편을 통해 경쟁력을 키웠다”며 “문어발 경영과 수직계열화를 통한 비용절감 효과는 줄어들고 선택과 집중 및 아웃소싱을 통한 강점이 부각되기 때문에 빅딜이 국내 대기업들의 새로운  ‘트렌드’로 자리잡을 것”이라고 예상했다..

 강철원기자 strong@hk.co.kr

 허재경기자 ricky@hk.co.kr]]></description>

<link>http://hankookilbo.com/v/eadba913488048bc82aa98dc93dee49b</link>

<pubDate>Fri, 28 Nov 2014 04:40:00 GMT</pubDate>

<media:content type="image/jpg"

url="http://image.hankookilbo.com/i.aspx?Guid=&amp;Month=DirectUpload&amp;size=640" />

<media:content type="image/jpg"

url="http://image.hankookilbo.com/i.aspx?Guid=a8baa080231e4e8683c27f011ca45ef8&amp;Month=20141127&amp;size=640" />

</item>

<item>

<title><![CDATA[[이덕일의 천고사설] 조선의 성범죄 처벌]]></title>

<description><![CDATA[  


 조선은 성폭행 사범을 어떻게 처리했을까? 조선은 예를 중시했던 사회였지만 인간의 본능은 어쩔 수 없는 것이어서 성폭행 사건이 여럿 전해지고 있다. 성종 3년(1472) 4월 전 군수 황우형(黃友兄)이 한 밤중에 반씨(潘氏)의 방에 들어가서 강간하려다가 반씨의 어머니와 여종이 말리는 바람에 미수에 그쳤다. 그래서 강간 미수로 기소되었다. 조선은 대명률(大明律)에 따라서 성범죄를 처벌했는데, 여성이 정을 나누기를 원치 않는데도 강간했을 경우는 교형(絞刑ㆍ교수형)에 처하고, 강간하려다 뜻을 이루지 못한 경우는 장(杖) 100대에 유형 3,000리에 처했다. 강간범은 사형이었고, 미수범도 중형이란 뜻이었다. 황우형은 강간 미수였지만 사헌부에서 이의를 제기했다. 반씨는 사족(士族) 부녀이고 황우형 부인의 4촌 오라버니의 아내인데도 강간하려 한 것은 동기가 불순하므로 미수로 다루어서는 안 된다는 것이었다. 황우형은 사형은 겨우 면했지만 함경도 회령의 관노(官奴)로 떨어지고 말았다. 군수였다가 관노로 떨어졌으니 살아도 산 것이 아니었을 것이다. 

 그런데 조선법이 특이한 것은 범죄의 결과뿐만 아니라 그 동기도 엄하게 다스렸다는 점이다. 범죄의 동기를 ‘벨 주(誅)자’를 써서 주심(誅心)이라고 하는 이유가 있다. 춘추시대 노(魯)나라 선공(宣公) 2년(서기 전 607)에 조천(趙穿)이 진(晉)나라 영공(靈公)을 도원(桃園)에서 죽였는데, 당시 정권을 잡은 조순(趙盾)이 토벌하지 않았다. 또한 노나라 소공(昭公) 19년(서기 전 523)에 허(許)나라 도공(悼公)이 병중에 있을 적에 세자(世子) 도지(悼止)가 부왕의 약을 맛보지 않아서 도공이 죽은 적이 있었다. 이들이 직접 임금을 죽인 것은 아니지만 그 동기가 불순하다고 해서 임금을 시해한 죄로 논죄해야 한다는 뜻에서 ‘주(誅)자’를 쓰는 것이었다. 그래서 그 동기를 처벌하는 것을 주심지법(誅心之法)이라고 하는데, 공자가 쓴 춘추(春秋)의 필법(筆法)이 이를 따른 것이다. 물론 동기가 좋은 뜻이면 정상참작이 되었다. 범죄의 결과보다 동기를 보는 주심(誅心) 처벌의 논리가 역경(易經)에 나오는 이상지점(履霜之漸)이었다. 서리를 밟으면 곧 얼음이 얼 때가 닥칠 것을 안다는 뜻으로 어떤 일의 징후를 보고 큰일을 미리 예방해야 한다는 뜻이다. 

 대명률(大明律) ‘형률(刑律)’의 ‘범간(犯奸)’ 조항은 강간뿐만 아니라 화간(和姦)도 처벌했다. 합의에 의해 성행위를 한 화간(和姦)은 장 80대인데, 여성에게 남편이 있으면 90대로 올라갔다. 조간도 처벌했는데, 조자는 조두(징의 일종)라는 뜻과 간사하다, 머리가 헝클어졌다는 뜻 등이 있었다. 대명률에 조간에 대한 형벌이 화간보다 무거운 100대였는데, 율학해이에는 ‘조는 조두(징)라는 뜻이니 음악으로 여성의 마음과 눈을 현혹시켜 간통하는 것’이라고 풀이했다. 그런데 음악으로 여성을 유혹한 것이 왜 화간보다 더 강하게 처벌을 받는 지 이해할 수 없었으나 율학해이에는 그렇게 풀이되어 있었다. 조간에 대해서 선조 6년(1573) 유희춘이 조강(朝講)에서 정확한 뜻을 풀이했다. 세종 때 중국 사신 예겸(倪謙)이 오자 세종이 성삼문(成三問)과 신숙주(申叔舟)를 보내서 접대하게 했는데, 평소 조간의 뜻에 의구심을 갖고 있던 성삼문이 예겸에게 “율문에 조간이라고 한 것이 무슨 뜻입니까?”라고 물었다. 예겸은 “간부(奸夫)가 간녀(奸女)를 남의 집에 데려다 두는 것을 뜻합니다”라고 답했다. 유희춘은 조는 곧 이끌다(引)는 뜻이고, 여성을 다른 집에 데려다 두는 것이므로 화간보다 더 무거운데 율학해이가 잘못 뜻풀이를 한 것이라고 설명했다. 어린 아이를 강간하거나 꾀어서 성폭행했을 경우에는 더 강하게 처벌했다. ‘12세 이하 어린 여아를 강간했을 경우는 화간이라 하더라도 강간과 같이 논죄(和同强論)’한 것이 이를 말해준다. 어린이 성폭행범은 예외 없이 교수형에 처했다. 개국 초인 태조 7년(1398) 윤5월 잉읍금(芿邑金)이 11세 여아를 강간했다가 교형(絞刑) 당했다. 세종 17년(1435) 강원도 철원의 사노(私奴) 문수생(文守生)도 11세 된 여아를 강간했다가 사형 당했다. 중종 18년(1523) 윤4월 해주(海州)의 죄수 이천산(李千山)이 아홉살 여아 검주리(檢注里)를 강간한 사건도 사형으로 다스렸다. 조선이 강간범을 사형으로 다스린 것은 여성의 정조를 목숨처럼 소중한 것으로 보았기 때문이다. 어린 여아의 경우 아직 채 피지도 못한 꽃이었기에 더욱 강하게 처벌했던 것이다. 최근 대법원에서 15세 여중생과 관계를 맺은 연예기획사 대표에 대해 무죄를 선고해 논란이 이는 가운데, 전직 국회의장 및 검찰총장 성추행 사건, 제자들을 상습 성폭행한 국립대 교수 사건 등이 연일 불거지고 있다. 성범죄에 관대한 것은 일제 식민통치의 유산일 뿐 우리 선조들의 법 정신과는 사뭇 다른 것이다.


 이덕일 한가람역사문화연구소장

]]></description>

<link>http://hankookilbo.com/v/14846e368be540bc8ebbe2af7971a260</link>

<pubDate>Thu, 27 Nov 2014 20:00:00 GMT</pubDate>

<media:content type="image/jpg"

url="http://image.hankookilbo.com/i.aspx?Guid=&amp;Month=DirectUpload&amp;size=640" />

<media:content type="image/jpg"

url="http://image.hankookilbo.com/i.aspx?Guid=e45847431a1545f9bca7eeb8a8ed043b&amp;Month=20141127&amp;size=640" />

</item>

<item>

<title><![CDATA[1%대… 더 잘린 쥐꼬리 예금금리]]></title>

<description><![CDATA[부진한 성장률&#183;경기부양 정책 탓 사상 초유의 초저금리 시대 진입


은행 예금금리 1%대 시대가 도래했다. 길게는 2008년 글로벌 금융위기 이후 지속된 부진한 성장률, 짧게는 올 들어 두 차례 기준금리 인하를 동원한 정부의 부양 정책이 빚어낸 현상이다. 

 지금껏 경험해보지 못한 초유의 초저금리 시대에 진입하면서, 경제 전반에 미치는 파장도 확대되는 모습이다. 

 27일 한국은행에 따르면 지난달 말 은행 총수신금리(잔액 기준)는 연 1.97%로 사상 처음 2% 아래로 떨어졌다. 총수신금리는 은행 예금상품 및 시장형금융상품(양도성예금증서, 금융채 등) 이자를 금액에 따라 가중평균한 수치로, 개인과 기관이 맡긴 돈에 은행이 지급하는 평균이자를 뜻한다. 총수신금리는 한은이 기준금리 인상에서 인하로 기조를 바꿀 무렵인 2012년 5월(3.06%) 이후 지속적으로 하락해왔다. 예금 가입자의 체감 금리 지표 격인 정기예금 금리(신규취급액 기준) 또한 지난달 사상 최저치인 연 2.17%를 기록했다.

 1%대 은행 금리는 “진정한 초저금리 시대가 도래했다”는 상징적, 심리적 의미가 크다는 분석이다. 더구나 지금은 한은을 향한 추가 금리 인하 압박도 점점 거세지는 형국이다. 투자처를 찾지 못하고 단기 상품을 전전하는 자금 부동화 현상이 심화되는 한편, 고수익을 추구하는 위험투자도 성행할 수밖에 없는 구조다. 

 예금금리와 함께 대출금리도 떨어지면서(총대출금리 6월 4.59% →10월 4.36%) 우리 경제의 뇌관인 가계부채도 더 늘어날 수밖에 없다. 금감원에 따르면 지난달 은행 가계대출은 전달보다 6조4,000억원 늘어 월 증가분으로 역대 최대치를 기록했다. 

 이자 수입에 기댄 은퇴생활자들은 점점 벼랑 끝으로 내몰리는 양상이다. 이상건 미래에셋은퇴연구소 상무는 “초저금리 시대엔 은퇴 연령을 늦추고 ‘가늘고 길게’ 자산운용을 하려는 추세가 강화될 것”이라고 전망했다.

 이훈성기자 hs0213@hk.co.kr]]></description>

<link>http://hankookilbo.com/v/b9eac243f5b44023886e69c99e0d5840</link>

<pubDate>Thu, 27 Nov 2014 18:59:00 GMT</pubDate>

<media:content type="image/jpg"

url="http://image.hankookilbo.com/i.aspx?Guid=9c14db1f412840d1a97ae8d7edf641f8&amp;Month=DirectUpload&amp;size=640" />

<media:content type="image/jpg"

url="http://image.hankookilbo.com/i.aspx?Guid=43721c39bb38484f9db366741bc199e9&amp;Month=20141127&amp;size=640" />

</item>

<item>

<title><![CDATA[[서화숙 칼럼] 당신들의 말]]></title>

<description><![CDATA[   세월호 상관없이 소비동향 떨어져

 서민에게 돈 없고 비정규직만 증가

 기업 살리자고 정규직까지 죽이면

  

 한국은행은 11월 소비자동향심리지수가 103으로 세월호 직후인 5월보다도 떨어졌다고 최근 밝혔다. 7월 30일 재보선에서 새누리당 후보들의 당선이 야당 후보보다 높게 나오자 ‘세월호 정쟁을 끝내고 경제를 살려야 한다’가 국민의 뜻이라고 새누리당 국회의원들은 물론 보수 신문들이 연일 떠들어댔다. 참사 원인을 밝혀야 한국사회가 한 걸음 앞으로 나아갈 수 있다는 논리적인 사고는 통하지 않았다. 

 결국 참사의 진상을 밝혀달라며 청와대 앞 청운동에서 천막을 치고 대통령을 만나기를 고대해온 유족들은 5일 농성을 풀었다. 11일 정부는 세월호 수색 중단까지 발표했다. 19일에는 해경을 해체하고 국민안전처를 공식 출범시키면서 세월호 문제를 덮었다. 그래서 경제가 살았는가. 세월호 때문에 경제가 못 살아난다는 이들은 어디 있나.

 어제 새누리당 최고위원회 회의에서는 말의 향연이 펼쳐졌다. 김태호 최고위원은 ‘가계부채가 1천조대, 사상 처음으로 넘어섰다. 현 경제팀에서 두 차례 금리인하 돈을 푸는 확장적 재정정책 폈다. 그럼에도 경제는 꿈쩍도 하지 않고 있다.’고 밝혔다. 가계부채가 이렇게 늘어난 것은 최경환장관의 기획재정부가 계속 집을 사라며 대출을 독려하기 때문이다. 금리는 인하해도 경제는 꿈쩍하지 않는다. 거기까지는 여당도 잘 알고 있다. 왜일까? 돈을 써야 할 서민들에게는 돈이 없기 때문이다.

 그래서 법인세 감세를 되돌려서 국가 수입을 늘린 후 서민들에게 복지로 풀라고 경제학자들이 권하지만 역시 새누리당은 듣지 않는다. 이완구 최고위원이 어제 한 말이다. ‘선진국개발기구(OECD)국가의 경우 법인세 비율을 보니까 2000년도부터 2013년도까지 30.6%에서 23.7%까지 떨어지고 있다. 우리나라는 22%다.’자, 1%만 높이는 것은 문제가 아니어야 될 발언이다. 그러나 그는 이렇게 덧붙인다. ‘동남아 경쟁국 법인세율 보니까 싱가폴 18%에서 17%로 홍콩, 대만도 떨어뜨리고 있다. 태국이 20%. 중국은 우리보다 높지만 워낙 외국인투자 활성화돼서 예외적 케이스다.’ 언제부터 우리나라의 경쟁국이 동남아 국가가 되었는가. 이인제 최고위원은 이렇게 말한다. ‘대기업근로자의 임금과 중소기업근로자 임금이 2배 이상 격차가 나는데 강성노조의 압력 때문에 해고가 사실상 불가능하다. 그래서 정규직 채용 꺼리고 비정규직으로 전환하고 있다.’ 그래서 기획재정부는 정규직을 해고하기 쉽게 근로조건을 개혁하는 것이 해법이라고 주장한다. 선진국은 비정규직의 임금과 처우를 올려서 해법을 찾는다. 그런데 한국은 정규직과 똑같이 근로하는 비정규직을 정규직으로 전환시키라는 법원 판결조차 불복하는 대기업에 대해 아무런 제재를 가하지 않고 이제 정규직조차 불안하게 하는 걸로 해법을 찾으려 한다.

 통계청이 어제 발표한 ‘임금근로일자리통계’를 보면 근속기간별로 1년 미만인 임금근로 일자리가 30.9%로 가장 많았다. 1∼3년 미만이 27.8%이다. 증가율도 1∼3년 미만이 12.1%로 가장 높았다. 매출액 기준으로는 500억원 이상인 기업체의 일자리가 351만2천개(37.3%)로 가장 많고 전년대비 증가율도 14.3%로 가장 높다. 대기업 고용은 늘었지만 빨리빨리 해고할 수 있는 비정규직 일자리만 그만큼 늘어났다는 의미이다.

 정부와 여당이 직접 말하고 직접 밝힌 내용을 요약하면 이렇다. 안정적인 일자리가 없고 사람들이 쓸 돈이 없어서 돈이 돌지 않고 그래서 경제가 어렵다. 세월호 참사와는 무관하게 경제가 제대로 흘러가지 않는다.

 그렇다고 정부와 여당만 문제인가. 영리병원과 원격진료의 길을 열어 의료 민영화의 길을 여는 서비스산업발전기본법을 새누리당과 새정치민주연합이 함께 합의하여 국회 기획재정위원회에 상정시켰다. 이 법은 18대 국회에서 폐기된 악법인데 여야가 합의해서 되살렸다. 당신들은 또 경제를 살리기 위해 했다고 말할 것이다. 병원에서도 대형병원만 살아날 뿐 작은 병원과 경제적 약자들의 건강권은 더욱 나빠질 것이다.

 심지어 부도덕한 장관 후보를 옹호하기 위해 국회 인사청문회조차 비리 부분을 파헤치는 것은 비공개로 하려고 새누리당은 꾸미고 있다.

 당신들에게 정부는 부자의 들러리인가. 국가 전체를 생각할 공직자는 그렇게 없는가.

  

 서화숙선임기자 hssuh@hk.co.kr]]></description>

<link>http://hankookilbo.com/v/5b4d46e706f44c75a5b137563eb897e3</link>

<pubDate>Thu, 27 Nov 2014 20:51:00 GMT</pubDate>

<media:content type="image/jpg"

url="http://image.hankookilbo.com/i.aspx?Guid=a7f140e7c7224bc59857a04cfffc1e88&amp;Month=DirectUpload&amp;size=640" />

<media:content type="image/jpg"

url="http://image.hankookilbo.com/i.aspx?Guid=a71eba184be543b6a481c38cecf83cb3&amp;Month=DirectUpload&amp;size=640" />

</item>

<item>

<title><![CDATA[생활 속에서 실천하는 ‘폭식 참는 법’]]></title>

<description><![CDATA[큰 맘 먹고 다이어트 좀 하려고 하는데 얼마 지나지 않아 여지없이 몰려오는 폭풍 같은 식욕! 세상은 넓고 맛있는 음식은 많다. 식욕을 참기 어려워서 곤혹스러웠던 경험이 많은가? 텍사스 소떼처럼 밀려오는 식욕을 물리치고 싶다면 아래의  방법을 따라해 보자. 얼마후면 모델처럼 늘씬한 몸매가 되어 있을지도 모른다. 


◎시작하기에 앞서 준비할 것들 : 다이어트에 성공하고야 말겠다는 굳은 의지


방법 1. 양치질 하기


흔히 군것질은 배가 고플때보다 입이 심심할 때 많이 하게 된다. 그럴땐 양치질로 입안을 깔끔하게 닦아야 한다. 음식물에 대한 생각도 환기가 되는 동시에 입 안이 개운해 지면서 먹고 싶은 느낌을 말끔히 사라지게 해준다. 그러나 너무 잦은 양치질은 치아의 손상을 초래 할 수 있다.

방법 2. 전화로 수다떨기


음식 생각이 날 때마다 다이어트 하는 걸 알고 있는 친구에게 전화를 걸어보자. 친구의 따끔한 충고는 물론 자연스런 수다로 음식에 대한 스트레스를 날려버릴 수 있다. 그 친구도 다이어트를 하고 있다면 &#39;상부상조&#39; ! 자칫하면 통화요금 폭탄을 맞을 수도 있으니 조심.

방법 3. 산책하기


집에 있으면 ‘뭐 먹을거 없나…’하고 냉장고만 여닫는 유형이라면 당장 가까운 공원으로 산책을 나가보자. 가벼운 신체활동은 식욕을 억눌러 줄 뿐만 아니라 칼로리도 소모되는 아주 좋은 습관이다.운동 좀 했다는 생각에 보상심리로 폭식하면 안 된다.

방법 4. 쇼핑하기


다이어트 스트레스로 식욕이 폭발할 때는 쇼핑을 나가보자. 날씬한 마네킹에 입혀진 예쁜 옷을 보며 ‘언젠가 저런 핏을 완성하고야 말겠어!’라고 생각이 들면서 동기부여가 된다. 자칫하면 지름신을 영접하게 될 수도 있으니 조심.

방법 5. 청소하기


주변이 어질러져 있으면 사람의 마음도 해이해지고 늘어지기 마련이다. 긴장이 풀려서 식욕이 당길 땐 주변을 깔끔하게 정리해 보자. 쓸고 닦고 하는 동안 주의가 환기되어 먹을 것에 대한 생각이 사라지게 된다. 물건의 배치를 고민하게 만드는 서랍정리, 화장대 정리도 매우 좋다.

쉐어하우스 제공 ▶ 원문보기]]></description>

<link>http://hankookilbo.com/v/04e31a47392c4247a8ba086e44b9935c</link>

<pubDate>Fri, 28 Nov 2014 09:34:00 GMT</pubDate>

<media:content type="image/jpg"

url="http://image.hankookilbo.com/i.aspx?Guid=3f01c7eb6e4b490aaa13611fd786b8af&amp;Month=DirectUpload&amp;size=640" />

<media:content type="image/jpg"

url="http://image.hankookilbo.com/i.aspx?Guid=1545f31b1ab246a1be0788c6fce3248c&amp;Month=DirectUpload&amp;size=640" />

<media:content type="image/jpg"

url="http://image.hankookilbo.com/i.aspx?Guid=7545480e41df4c68a16d17cef3ef1171&amp;Month=DirectUpload&amp;size=640" />

<media:content type="image/jpg"

url="http://image.hankookilbo.com/i.aspx?Guid=06cf076f47d844efa3ee87da615f075a&amp;Month=DirectUpload&amp;size=640" />

<media:content type="image/jpg"

url="http://image.hankookilbo.com/i.aspx?Guid=c3e7a7e5f01b49219f3fc4df92034a74&amp;Month=DirectUpload&amp;size=640" />

<media:content type="image/jpg"

url="http://image.hankookilbo.com/i.aspx?Guid=f7b52387fbad4d608c92f99aaeda258d&amp;Month=DirectUpload&amp;size=640" />

</item>

<item>

<title><![CDATA[만화를 찢고 나온 듯한 '미생' 배우들… 어떻게 찾았지?]]></title>

<description><![CDATA[신선한 얼굴 찾아 연극&#183;영화관 뒤져 

오 과장역 이성민 0순위로 섭외, 인턴사원 한석률 찾기 가장 애먹어


  

 tvN ‘미생’의 흥행 요인 중 하나는 ‘만찢남’(만화를 찢고 나온 듯한 남자) 즉 ‘싱크로율 100%’의 완벽한 캐스팅이다. 그 같은 캐스팅의 중심에는 최길홍 캐스팅디렉터가 있다. 배우 캐스팅에만 10여 년의 경력을 지닌 그는 “회사원 느낌이 나는 배우를 찾으라”는 제작진의 주문에 따라 장그래, 오 과장, 김 대리, 한석률 등을 연기할 배우를 수소문했다. 그러면서도 출연진의 신선함을 극대화하기 위해 가급적 방송 노출이 적은 배우를 찾았다. 연극이나 뮤지컬 등 공연과 영화를 수 없이 봤다. 그래서인지 ‘미생’ 출연진은 대부분 연극이나 영화에서 잔뼈가 굵은 배우다. 



 그렇다면 캐스팅이 가장 쉬웠던 연기자는 누구였을까. 예상을 깬 그의 대답은 “이성민”이다. 오상식 과장을 리얼하게 표현할 배우로 제작진은 이성민을 꼽았고 최길홍 디렉터 역시 그를 ‘캐스팅 0순위’로 두고 섭외에 들어갔다. 드라마 시놉시스가 나오기 전이라 만화 ‘미생’의 내용을 요약해 이성민을 찾아갔다. 최 디렉터는 “이성민씨는 뒤도 돌아보지 않고 오 과장 역을 하겠다고 흔쾌히 대답했다”고 말했다. 생각하지도 못한 빠른 답변에 제작진은 더 좋은 그림을 그리기 시작했다. 임시완은 원작 만화로 만든 영화 ‘미생 프리퀼’(2013)에서 장그래로 출연한 적이 있어 그를 다시 캐스팅 하는 것은 약간의 모험이었다. “임시완이 ’미생 프리퀼’에서 장그래로 등장한 것은 맞지만 그래도 드라마에서는 영화와 다른 느낌을 줄 수 있을 것”이라고 판단해 과감하게 섭외에 들어가 캐스팅에 성공했다. 주인공 출연자가 비교적 빠르고 쉽게 확정된 것이다.  



 캐스팅이 가장 어려운 인물은 할 말 다하는 당당한 인턴사원 한석률 역의 변요한이었다. 연기력 갖춘 20대 배우를 찾는 게 쉬운 일이 아니었지만 최 디렉터는 연기력은 있으되 방송에 거의 노출된 적이 없는 배우들을 골라 연출자인 김원석 PD에게 소개했다. 그러나 김 PD는 “마음에 드는 배우가 없다”고 거푸 퇴짜를 놓았다. “변요한씨는 ‘감시자들’ 등 영화에만 출연했던 배우였어요. 요한씨가 제격이라고 생각하고 마지막 카드로 그를 김 PD에게 소개했지요.”

 변요한의 캐스팅은 시청자들도 인정한 성공 사례다. 그러나 최 디렉터는 오히려 “실제로 변요한과 한석률은 싱크로율 100%가 아니다”라고 말한다. 변요한은 한석률처럼 목소리가 크지 않고 말도 많지 않다는 것이다. 그는 “요한씨가 노력을 많이 해 자신의 역할을 성공적으로 소화하고 있다”며 “그 때문에 고생도 많이 하는 것으로 안다”고 말했다. 

 최 디렉터는 ‘미생’의 숨은 주역으로 “더 이상 출연하지 않아 시청자들 기억에서 가물가물한 인턴사원 역의 배우들”을 꼽았다. 그 중에서도 2회(10월18일 방송)에서 영업1팀의 인턴사원으로 나왔던 배우 조현식을 높이 샀다. 인턴사원 중 유일한 유부남으로 출연한 조현식은 연극 무대에서만 활동해왔다. 그는 드라마에서 퇴근 후 자는 아이를 안아보고 싶어하는 아빠의 마음을 현실감 있게 보여줘 호평을 받았다. 최 디렉터는 “조현식씨는 회사와 가정에서 점점 위축되는 아빠의 모습을 맛깔스럽고 실감나게 살려준 배우”라고 평가했다. 강은영기자 kiss@hk.co.kr]]></description>

<link>http://hankookilbo.com/v/364c5e3cfd2c4945a81c5bcda0c4cd42</link>

<pubDate>Thu, 27 Nov 2014 17:38:00 GMT</pubDate>

<media:content type="image/jpg"

url="http://image.hankookilbo.com/i.aspx?Guid=&amp;Month=DirectUpload&amp;size=640" />

<media:content type="image/jpg"

url="http://image.hankookilbo.com/i.aspx?Guid=65d5ad7e395742938b6a51212c759ba1&amp;Month=20141127&amp;size=640" />

<media:content type="image/jpg"

url="http://image.hankookilbo.com/i.aspx?Guid=e67ff4b6c9414376a80e9e6f3ac533a0&amp;Month=20141127&amp;size=640" />

<media:content type="image/jpg"

url="http://image.hankookilbo.com/i.aspx?Guid=759f1ec5f2f342f29c12194bf37d82ea&amp;Month=20141127&amp;size=640" />

</item>

</channel>

</rss>






출력 예) ----------------------------------------------------

title> 한국일보 주요기사 

link> http://hankookilbo.com 

description> 한국일보 주요기사 RSS 서비스 

copyright> Copyright 2014 한국일보사 



주요기사 ------------------

title> 재계 사업재편 주판알 바빠진다 

description> 선택과 집중 위해 비주력사업 정리… 포스코, 특수강 팔고 동양파워 인수삼성&#183;한화 빅딜은 신호탄에 불과, 결과 따

라 대기업 판도 요동칠 듯   삼성과 한화의 빅딜을 계기로 대기업들의 사업재편 방향에 대한 관심이 커지고 있는 가운데 ‘선택과 집중’을 위한 대

형 인수합병(M&amp;A)과 매각이 잇따를 가능성이 높은 것으로 점쳐지고 있다. 주요 대기업들은 이미 주력사업과 미래 신성장 사업에 집중하기 

위해 돈이 되는 알짜 사업들과 수익창출에 기여해 온 비주력사업을 과감하게 팔고 있다. 더 잘할 수 있는 분야에 집중하기 위해 경쟁사가 탐내는 집

안의 보물을 아낌없이 파는  ‘덧셈 뺄셈의 경영’이 이어지면서 그 성패에 따라 재계 판도가 크게 바뀔 전망이다. 포스코는 매년 수백억원의 안정적

 수익을 안겨준 포스코특수강을 세아그룹에 매각할 예정이며, 전남 광양의 액화천연가스(LNG)터미널 지분과 제철 부산물 판매회사인 포스화인도 처분

한다. 남미 조림사업 법인인 포스코-우루과이와 경남 창원의 대우백화점, 베트남 다이아몬드플라자 백화점도 매각대상에 포함시켰다. 대신 철강을 핵심

 축으로 삼고 에너지와 소재를 신성장사업으로 육성한다는 방침에 따라 석탄발전회사 동양파워를 인수하고 리튬 직접 추출기술 상용화에 투자를 집중하고

 있다.  두산그룹도 최근 두산동아를 인터넷서점 예스24에 매각하면서 마지막 남은 소비재 사업에서 손을 뗐다. 두산동아는 지난해 73억원의 영업

이익을 냈지만 주력사업과 거리가 멀다는 것이 매각 이유다. 버거킹과 KFC 매각을 통해 식품사업에서도 철수한 두산은 최근 20년간 소비재사업을 

모두 정리하고 중공업과 건설장비 전문업체로 자리매김했다. 여기에 연료전지 사업을 신성장동력으로 삼아 최근 기술력이 뛰어난 2개사를 국내외에서 인

수했다. 효성그룹도 지난달 페트병 등 음료용기를 제조하는 패키징 사업부문을 4,150억원에 매각했다. 매년 수백억원씩 이익을 안겨주던 시장점유율

 1위의 알짜사업이었지만 재무구조 개선과 핵심역량 강화를 위해 과감히 매물로 내놓은 것이다. 효성은 대신 탄소섬유와 폴리케톤 등 첨단소재 사업에

 투자를 집중할 계획이다. KT도 비주력사업 정리 차원에서 국내 1위 렌터카 운영업체인 kt렌탈의 매각을 진행 중이며, LG전자와 삼성SDI도 

사업성이 떨어지는 PDP TV 시장에서 철수했다. 동부그룹과 현대그룹의 경우 채권단과의 재무구조 약정 이행을 위한 성격이 강하지만, 핵심사업 매

각을 통해 새로운 성장동력을 찾는데 역시 주력하고 있다.       26일 빅딜을 단행한 삼성과 한화도 주력사업과 미래 먹거리 사업에 대한 투자

를 더욱 늘릴 방침이다. 삼성의 경우 화학과 방산사업 포기를 계기로 전자와 금융, 건설ㆍ중공업을 축으로 바이오 등 신수종 사업에 대한 통 큰 투

자가 예상된다. 한화도 이번 인수합병으로 석유화학과 방산, 태양광, 첨단소재산업이 4대 성장 축으로 확실히 자리매김했다. 앞서 포장지 제조업체 

폴리드리머와 24시간 편의점 씨스페이스, 제약업체인 드림파마와 소재업체인 한화 L&amp;C의 건자재 사업부문을 그룹에서 분리하거나 매각한 것도

 사업재편을 위한 선택이었다.   전문가들은 지금까지의 사업재편은 시작에 불과하며 향후 10년 동안 대기업간 대형 M&amp;A가 국내외에서 활

발하게 이뤄질 것으로 전망하고 있다. 하태형 현대경제연구원 원장은 “미국 기업들은 1990년대부터 인수합병을 통한 전문화와 사업재편을 통해 경쟁

력을 키웠다”며 “문어발 경영과 수직계열화를 통한 비용절감 효과는 줄어들고 선택과 집중 및 아웃소싱을 통한 강점이 부각되기 때문에 빅딜이 국내 

대기업들의 새로운  ‘트렌드’로 자리잡을 것”이라고 예상했다.. 강철원기자 strong@hk.co.kr 허재경기자 ricky@hk.co.kr 

link> http://hankookilbo.com/v/eadba913488048bc82aa98dc93dee49b 

pubDate> Fri, 28 Nov 2014 04:40:00 GMT 

media:content> http://image.hankookilbo.com/i.aspx?Guid=&Month=DirectUpload&size

=640 

media:content> http://image.hankookilbo.com/i.aspx?Guid=a8baa080231e4e8683c27f01

1ca45ef8&Month=20141127&size=640 



title> [이덕일의 천고사설] 조선의 성범죄 처벌 

description>    조선은 성폭행 사범을 어떻게 처리했을까? 조선은 예를 중시했던 사회였지만 인간의 본능은 어쩔 수 없는 것이어서 성폭

행 사건이 여럿 전해지고 있다. 성종 3년(1472) 4월 전 군수 황우형(黃友兄)이 한 밤중에 반씨(潘氏)의 방에 들어가서 강간하려다가 반씨의

 어머니와 여종이 말리는 바람에 미수에 그쳤다. 그래서 강간 미수로 기소되었다. 조선은 대명률(大明律)에 따라서 성범죄를 처벌했는데, 여성이 정

을 나누기를 원치 않는데도 강간했을 경우는 교형(絞刑ㆍ교수형)에 처하고, 강간하려다 뜻을 이루지 못한 경우는 장(杖) 100대에 유형 3,000

리에 처했다. 강간범은 사형이었고, 미수범도 중형이란 뜻이었다. 황우형은 강간 미수였지만 사헌부에서 이의를 제기했다. 반씨는 사족(士族) 부녀이

고 황우형 부인의 4촌 오라버니의 아내인데도 강간하려 한 것은 동기가 불순하므로 미수로 다루어서는 안 된다는 것이었다. 황우형은 사형은 겨우 면

했지만 함경도 회령의 관노(官奴)로 떨어지고 말았다. 군수였다가 관노로 떨어졌으니 살아도 산 것이 아니었을 것이다.  그런데 조선법이 특이한 것

은 범죄의 결과뿐만 아니라 그 동기도 엄하게 다스렸다는 점이다. 범죄의 동기를 ‘벨 주(誅)자’를 써서 주심(誅心)이라고 하는 이유가 있다. 춘

추시대 노(魯)나라 선공(宣公) 2년(서기 전 607)에 조천(趙穿)이 진(晉)나라 영공(靈公)을 도원(桃園)에서 죽였는데, 당시 정권을 잡은 

조순(趙盾)이 토벌하지 않았다. 또한 노나라 소공(昭公) 19년(서기 전 523)에 허(許)나라 도공(悼公)이 병중에 있을 적에 세자(世子) 도

지(悼止)가 부왕의 약을 맛보지 않아서 도공이 죽은 적이 있었다. 이들이 직접 임금을 죽인 것은 아니지만 그 동기가 불순하다고 해서 임금을 시해

한 죄로 논죄해야 한다는 뜻에서 ‘주(誅)자’를 쓰는 것이었다. 그래서 그 동기를 처벌하는 것을 주심지법(誅心之法)이라고 하는데, 공자가 쓴 춘

추(春秋)의 필법(筆法)이 이를 따른 것이다. 물론 동기가 좋은 뜻이면 정상참작이 되었다. 범죄의 결과보다 동기를 보는 주심(誅心) 처벌의 논리

가 역경(易經)에 나오는 이상지점(履霜之漸)이었다. 서리를 밟으면 곧 얼음이 얼 때가 닥칠 것을 안다는 뜻으로 어떤 일의 징후를 보고 큰일을 미

리 예방해야 한다는 뜻이다.  대명률(大明律) ‘형률(刑律)’의 ‘범간(犯奸)’ 조항은 강간뿐만 아니라 화간(和姦)도 처벌했다. 합의에 의해 성

행위를 한 화간(和姦)은 장 80대인데, 여성에게 남편이 있으면 90대로 올라갔다. 조간도 처벌했는데, 조자는 조두(징의 일종)라는 뜻과 간사하

다, 머리가 헝클어졌다는 뜻 등이 있었다. 대명률에 조간에 대한 형벌이 화간보다 무거운 100대였는데, 율학해이에는 ‘조는 조두(징)라는 뜻이니

 음악으로 여성의 마음과 눈을 현혹시켜 간통하는 것’이라고 풀이했다. 그런데 음악으로 여성을 유혹한 것이 왜 화간보다 더 강하게 처벌을 받는 지

 이해할 수 없었으나 율학해이에는 그렇게 풀이되어 있었다. 조간에 대해서 선조 6년(1573) 유희춘이 조강(朝講)에서 정확한 뜻을 풀이했다. 

세종 때 중국 사신 예겸(倪謙)이 오자 세종이 성삼문(成三問)과 신숙주(申叔舟)를 보내서 접대하게 했는데, 평소 조간의 뜻에 의구심을 갖고 있던

 성삼문이 예겸에게 “율문에 조간이라고 한 것이 무슨 뜻입니까?”라고 물었다. 예겸은 “간부(奸夫)가 간녀(奸女)를 남의 집에 데려다 두는 것을

 뜻합니다”라고 답했다. 유희춘은 조는 곧 이끌다(引)는 뜻이고, 여성을 다른 집에 데려다 두는 것이므로 화간보다 더 무거운데 율학해이가 잘못 

뜻풀이를 한 것이라고 설명했다. 어린 아이를 강간하거나 꾀어서 성폭행했을 경우에는 더 강하게 처벌했다. ‘12세 이하 어린 여아를 강간했을 경우

는 화간이라 하더라도 강간과 같이 논죄(和同强論)’한 것이 이를 말해준다. 어린이 성폭행범은 예외 없이 교수형에 처했다. 개국 초인 태조 7년(

1398) 윤5월 잉읍금(芿邑金)이 11세 여아를 강간했다가 교형(絞刑) 당했다. 세종 17년(1435) 강원도 철원의 사노(私奴) 문수생(文守

生)도 11세 된 여아를 강간했다가 사형 당했다. 중종 18년(1523) 윤4월 해주(海州)의 죄수 이천산(李千山)이 아홉살 여아 검주리(檢注里

)를 강간한 사건도 사형으로 다스렸다. 조선이 강간범을 사형으로 다스린 것은 여성의 정조를 목숨처럼 소중한 것으로 보았기 때문이다. 어린 여아의

 경우 아직 채 피지도 못한 꽃이었기에 더욱 강하게 처벌했던 것이다. 최근 대법원에서 15세 여중생과 관계를 맺은 연예기획사 대표에 대해 무죄를

 선고해 논란이 이는 가운데, 전직 국회의장 및 검찰총장 성추행 사건, 제자들을 상습 성폭행한 국립대 교수 사건 등이 연일 불거지고 있다. 성범

죄에 관대한 것은 일제 식민통치의 유산일 뿐 우리 선조들의 법 정신과는 사뭇 다른 것이다. 이덕일 한가람역사문화연구소장 

link> http://hankookilbo.com/v/14846e368be540bc8ebbe2af7971a260 

pubDate> Thu, 27 Nov 2014 20:00:00 GMT 

media:content> http://image.hankookilbo.com/i.aspx?Guid=&Month=DirectUpload&size

=640 

media:content> http://image.hankookilbo.com/i.aspx?Guid=e45847431a1545f9bca7eeb8

a8ed043b&Month=20141127&size=640 



title> 1%대… 더 잘린 쥐꼬리 예금금리 

description> 부진한 성장률&#183;경기부양 정책 탓 사상 초유의 초저금리 시대 진입은행 예금금리 1%대 시대가 도래했다. 길게는 2

008년 글로벌 금융위기 이후 지속된 부진한 성장률, 짧게는 올 들어 두 차례 기준금리 인하를 동원한 정부의 부양 정책이 빚어낸 현상이다.  지

금껏 경험해보지 못한 초유의 초저금리 시대에 진입하면서, 경제 전반에 미치는 파장도 확대되는 모습이다.  27일 한국은행에 따르면 지난달 말 은

행 총수신금리(잔액 기준)는 연 1.97%로 사상 처음 2% 아래로 떨어졌다. 총수신금리는 은행 예금상품 및 시장형금융상품(양도성예금증서, 금융

채 등) 이자를 금액에 따라 가중평균한 수치로, 개인과 기관이 맡긴 돈에 은행이 지급하는 평균이자를 뜻한다. 총수신금리는 한은이 기준금리 인상에

서 인하로 기조를 바꿀 무렵인 2012년 5월(3.06%) 이후 지속적으로 하락해왔다. 예금 가입자의 체감 금리 지표 격인 정기예금 금리(신규취

급액 기준) 또한 지난달 사상 최저치인 연 2.17%를 기록했다. 1%대 은행 금리는 “진정한 초저금리 시대가 도래했다”는 상징적, 심리적 의미

가 크다는 분석이다. 더구나 지금은 한은을 향한 추가 금리 인하 압박도 점점 거세지는 형국이다. 투자처를 찾지 못하고 단기 상품을 전전하는 자금

 부동화 현상이 심화되는 한편, 고수익을 추구하는 위험투자도 성행할 수밖에 없는 구조다.  예금금리와 함께 대출금리도 떨어지면서(총대출금리 6월

 4.59% →10월 4.36%) 우리 경제의 뇌관인 가계부채도 더 늘어날 수밖에 없다. 금감원에 따르면 지난달 은행 가계대출은 전달보다 6조4

,000억원 늘어 월 증가분으로 역대 최대치를 기록했다.  이자 수입에 기댄 은퇴생활자들은 점점 벼랑 끝으로 내몰리는 양상이다. 이상건 미래에셋

은퇴연구소 상무는 “초저금리 시대엔 은퇴 연령을 늦추고 ‘가늘고 길게’ 자산운용을 하려는 추세가 강화될 것”이라고 전망했다. 이훈성기자 hs02

13@hk.co.kr 

link> http://hankookilbo.com/v/b9eac243f5b44023886e69c99e0d5840 

pubDate> Thu, 27 Nov 2014 18:59:00 GMT 

media:content> http://image.hankookilbo.com/i.aspx?Guid=9c14db1f412840d1a97ae8d7

edf641f8&Month=DirectUpload&size=640 

media:content> http://image.hankookilbo.com/i.aspx?Guid=43721c39bb38484f9db36674

1bc199e9&Month=20141127&size=640 



title> [서화숙 칼럼] 당신들의 말 

description>    세월호 상관없이 소비동향 떨어져 서민에게 돈 없고 비정규직만 증가 기업 살리자고 정규직까지 죽이면   한국은행은 1

1월 소비자동향심리지수가 103으로 세월호 직후인 5월보다도 떨어졌다고 최근 밝혔다. 7월 30일 재보선에서 새누리당 후보들의 당선이 야당 후보

보다 높게 나오자 ‘세월호 정쟁을 끝내고 경제를 살려야 한다’가 국민의 뜻이라고 새누리당 국회의원들은 물론 보수 신문들이 연일 떠들어댔다. 참사

 원인을 밝혀야 한국사회가 한 걸음 앞으로 나아갈 수 있다는 논리적인 사고는 통하지 않았다.  결국 참사의 진상을 밝혀달라며 청와대 앞 청운동에

서 천막을 치고 대통령을 만나기를 고대해온 유족들은 5일 농성을 풀었다. 11일 정부는 세월호 수색 중단까지 발표했다. 19일에는 해경을 해체하

고 국민안전처를 공식 출범시키면서 세월호 문제를 덮었다. 그래서 경제가 살았는가. 세월호 때문에 경제가 못 살아난다는 이들은 어디 있나. 어제 

새누리당 최고위원회 회의에서는 말의 향연이 펼쳐졌다. 김태호 최고위원은 ‘가계부채가 1천조대, 사상 처음으로 넘어섰다. 현 경제팀에서 두 차례 

금리인하 돈을 푸는 확장적 재정정책 폈다. 그럼에도 경제는 꿈쩍도 하지 않고 있다.’고 밝혔다. 가계부채가 이렇게 늘어난 것은 최경환장관의 기획

재정부가 계속 집을 사라며 대출을 독려하기 때문이다. 금리는 인하해도 경제는 꿈쩍하지 않는다. 거기까지는 여당도 잘 알고 있다. 왜일까? 돈을 

써야 할 서민들에게는 돈이 없기 때문이다. 그래서 법인세 감세를 되돌려서 국가 수입을 늘린 후 서민들에게 복지로 풀라고 경제학자들이 권하지만 역

시 새누리당은 듣지 않는다. 이완구 최고위원이 어제 한 말이다. ‘선진국개발기구(OECD)국가의 경우 법인세 비율을 보니까 2000년도부터 20

13년도까지 30.6%에서 23.7%까지 떨어지고 있다. 우리나라는 22%다.’자, 1%만 높이는 것은 문제가 아니어야 될 발언이다. 그러나 그

는 이렇게 덧붙인다. ‘동남아 경쟁국 법인세율 보니까 싱가폴 18%에서 17%로 홍콩, 대만도 떨어뜨리고 있다. 태국이 20%. 중국은 우리보다

 높지만 워낙 외국인투자 활성화돼서 예외적 케이스다.’ 언제부터 우리나라의 경쟁국이 동남아 국가가 되었는가. 이인제 최고위원은 이렇게 말한다. 

‘대기업근로자의 임금과 중소기업근로자 임금이 2배 이상 격차가 나는데 강성노조의 압력 때문에 해고가 사실상 불가능하다. 그래서 정규직 채용 꺼리

고 비정규직으로 전환하고 있다.’ 그래서 기획재정부는 정규직을 해고하기 쉽게 근로조건을 개혁하는 것이 해법이라고 주장한다. 선진국은 비정규직의 

임금과 처우를 올려서 해법을 찾는다. 그런데 한국은 정규직과 똑같이 근로하는 비정규직을 정규직으로 전환시키라는 법원 판결조차 불복하는 대기업에 

대해 아무런 제재를 가하지 않고 이제 정규직조차 불안하게 하는 걸로 해법을 찾으려 한다. 통계청이 어제 발표한 ‘임금근로일자리통계’를 보면 근속

기간별로 1년 미만인 임금근로 일자리가 30.9%로 가장 많았다. 1∼3년 미만이 27.8%이다. 증가율도 1∼3년 미만이 12.1%로 가장 높

았다. 매출액 기준으로는 500억원 이상인 기업체의 일자리가 351만2천개(37.3%)로 가장 많고 전년대비 증가율도 14.3%로 가장 높다. 

대기업 고용은 늘었지만 빨리빨리 해고할 수 있는 비정규직 일자리만 그만큼 늘어났다는 의미이다. 정부와 여당이 직접 말하고 직접 밝힌 내용을 요약

하면 이렇다. 안정적인 일자리가 없고 사람들이 쓸 돈이 없어서 돈이 돌지 않고 그래서 경제가 어렵다. 세월호 참사와는 무관하게 경제가 제대로 흘

러가지 않는다. 그렇다고 정부와 여당만 문제인가. 영리병원과 원격진료의 길을 열어 의료 민영화의 길을 여는 서비스산업발전기본법을 새누리당과 새정

치민주연합이 함께 합의하여 국회 기획재정위원회에 상정시켰다. 이 법은 18대 국회에서 폐기된 악법인데 여야가 합의해서 되살렸다. 당신들은 또 경

제를 살리기 위해 했다고 말할 것이다. 병원에서도 대형병원만 살아날 뿐 작은 병원과 경제적 약자들의 건강권은 더욱 나빠질 것이다. 심지어 부도덕

한 장관 후보를 옹호하기 위해 국회 인사청문회조차 비리 부분을 파헤치는 것은 비공개로 하려고 새누리당은 꾸미고 있다. 당신들에게 정부는 부자의 

들러리인가. 국가 전체를 생각할 공직자는 그렇게 없는가.   서화숙선임기자 hssuh@hk.co.kr 

link> http://hankookilbo.com/v/5b4d46e706f44c75a5b137563eb897e3 

pubDate> Thu, 27 Nov 2014 20:51:00 GMT 

media:content> http://image.hankookilbo.com/i.aspx?Guid=a7f140e7c7224bc59857a04c

fffc1e88&Month=DirectUpload&size=640 

media:content> http://image.hankookilbo.com/i.aspx?Guid=a71eba184be543b6a481c38c

ecf83cb3&Month=DirectUpload&size=640 



title> 생활 속에서 실천하는 ‘폭식 참는 법’ 

description> 큰 맘 먹고 다이어트 좀 하려고 하는데 얼마 지나지 않아 여지없이 몰려오는 폭풍 같은 식욕! 세상은 넓고 맛있는 음식은 

많다. 식욕을 참기 어려워서 곤혹스러웠던 경험이 많은가? 텍사스 소떼처럼 밀려오는 식욕을 물리치고 싶다면 아래의  방법을 따라해 보자. 얼마후면

 모델처럼 늘씬한 몸매가 되어 있을지도 모른다. ◎시작하기에 앞서 준비할 것들 : 다이어트에 성공하고야 말겠다는 굳은 의지방법 1. 양치질 하기

흔히 군것질은 배가 고플때보다 입이 심심할 때 많이 하게 된다. 그럴땐 양치질로 입안을 깔끔하게 닦아야 한다. 음식물에 대한 생각도 환기가 되는

 동시에 입 안이 개운해 지면서 먹고 싶은 느낌을 말끔히 사라지게 해준다. 그러나 너무 잦은 양치질은 치아의 손상을 초래 할 수 있다.방법 2.

 전화로 수다떨기음식 생각이 날 때마다 다이어트 하는 걸 알고 있는 친구에게 전화를 걸어보자. 친구의 따끔한 충고는 물론 자연스런 수다로 음식에

 대한 스트레스를 날려버릴 수 있다. 그 친구도 다이어트를 하고 있다면 &#39;상부상조&#39; ! 자칫하면 통화요금 폭탄을 맞을 수도 있으니

 조심.방법 3. 산책하기집에 있으면 ‘뭐 먹을거 없나…’하고 냉장고만 여닫는 유형이라면 당장 가까운 공원으로 산책을 나가보자. 가벼운 신체활동

은 식욕을 억눌러 줄 뿐만 아니라 칼로리도 소모되는 아주 좋은 습관이다.운동 좀 했다는 생각에 보상심리로 폭식하면 안 된다.방법 4. 쇼핑하기다

이어트 스트레스로 식욕이 폭발할 때는 쇼핑을 나가보자. 날씬한 마네킹에 입혀진 예쁜 옷을 보며 ‘언젠가 저런 핏을 완성하고야 말겠어!’라고 생각

이 들면서 동기부여가 된다. 자칫하면 지름신을 영접하게 될 수도 있으니 조심.방법 5. 청소하기주변이 어질러져 있으면 사람의 마음도 해이해지고 

늘어지기 마련이다. 긴장이 풀려서 식욕이 당길 땐 주변을 깔끔하게 정리해 보자. 쓸고 닦고 하는 동안 주의가 환기되어 먹을 것에 대한 생각이 사

라지게 된다. 물건의 배치를 고민하게 만드는 서랍정리, 화장대 정리도 매우 좋다.쉐어하우스 제공 ▶ 원문보기 

link> http://hankookilbo.com/v/04e31a47392c4247a8ba086e44b9935c 

pubDate> Fri, 28 Nov 2014 09:34:00 GMT 

media:content> http://image.hankookilbo.com/i.aspx?Guid=3f01c7eb6e4b490aaa13611f

d786b8af&Month=DirectUpload&size=640 

media:content> http://image.hankookilbo.com/i.aspx?Guid=1545f31b1ab246a1be0788c6

fce3248c&Month=DirectUpload&size=640 

media:content> http://image.hankookilbo.com/i.aspx?Guid=7545480e41df4c68a16d17ce

f3ef1171&Month=DirectUpload&size=640 

media:content> http://image.hankookilbo.com/i.aspx?Guid=06cf076f47d844efa3ee87da

615f075a&Month=DirectUpload&size=640 

media:content> http://image.hankookilbo.com/i.aspx?Guid=c3e7a7e5f01b49219f3fc4df

92034a74&Month=DirectUpload&size=640 

media:content> http://image.hankookilbo.com/i.aspx?Guid=f7b52387fbad4d608c92f99a

aeda258d&Month=DirectUpload&size=640 



title> 만화를 찢고 나온 듯한 '미생' 배우들… 어떻게 찾았지? 

description> 신선한 얼굴 찾아 연극&#183;영화관 뒤져 오 과장역 이성민 0순위로 섭외, 인턴사원 한석률 찾기 가장 애먹어   tv

N ‘미생’의 흥행 요인 중 하나는 ‘만찢남’(만화를 찢고 나온 듯한 남자) 즉 ‘싱크로율 100%’의 완벽한 캐스팅이다. 그 같은 캐스팅의 중

심에는 최길홍 캐스팅디렉터가 있다. 배우 캐스팅에만 10여 년의 경력을 지닌 그는 “회사원 느낌이 나는 배우를 찾으라”는 제작진의 주문에 따라 

장그래, 오 과장, 김 대리, 한석률 등을 연기할 배우를 수소문했다. 그러면서도 출연진의 신선함을 극대화하기 위해 가급적 방송 노출이 적은 배우

를 찾았다. 연극이나 뮤지컬 등 공연과 영화를 수 없이 봤다. 그래서인지 ‘미생’ 출연진은 대부분 연극이나 영화에서 잔뼈가 굵은 배우다.  그렇

다면 캐스팅이 가장 쉬웠던 연기자는 누구였을까. 예상을 깬 그의 대답은 “이성민”이다. 오상식 과장을 리얼하게 표현할 배우로 제작진은 이성민을 

꼽았고 최길홍 디렉터 역시 그를 ‘캐스팅 0순위’로 두고 섭외에 들어갔다. 드라마 시놉시스가 나오기 전이라 만화 ‘미생’의 내용을 요약해 이성민

을 찾아갔다. 최 디렉터는 “이성민씨는 뒤도 돌아보지 않고 오 과장 역을 하겠다고 흔쾌히 대답했다”고 말했다. 생각하지도 못한 빠른 답변에 제작

진은 더 좋은 그림을 그리기 시작했다. 임시완은 원작 만화로 만든 영화 ‘미생 프리퀼’(2013)에서 장그래로 출연한 적이 있어 그를 다시 캐스

팅 하는 것은 약간의 모험이었다. “임시완이 ’미생 프리퀼’에서 장그래로 등장한 것은 맞지만 그래도 드라마에서는 영화와 다른 느낌을 줄 수 있을

 것”이라고 판단해 과감하게 섭외에 들어가 캐스팅에 성공했다. 주인공 출연자가 비교적 빠르고 쉽게 확정된 것이다.   캐스팅이 가장 어려운 인물

은 할 말 다하는 당당한 인턴사원 한석률 역의 변요한이었다. 연기력 갖춘 20대 배우를 찾는 게 쉬운 일이 아니었지만 최 디렉터는 연기력은 있으

되 방송에 거의 노출된 적이 없는 배우들을 골라 연출자인 김원석 PD에게 소개했다. 그러나 김 PD는 “마음에 드는 배우가 없다”고 거푸 퇴짜를

 놓았다. “변요한씨는 ‘감시자들’ 등 영화에만 출연했던 배우였어요. 요한씨가 제격이라고 생각하고 마지막 카드로 그를 김 PD에게 소개했지요.”

 변요한의 캐스팅은 시청자들도 인정한 성공 사례다. 그러나 최 디렉터는 오히려 “실제로 변요한과 한석률은 싱크로율 100%가 아니다”라고 말한다

. 변요한은 한석률처럼 목소리가 크지 않고 말도 많지 않다는 것이다. 그는 “요한씨가 노력을 많이 해 자신의 역할을 성공적으로 소화하고 있다”며

 “그 때문에 고생도 많이 하는 것으로 안다”고 말했다.  최 디렉터는 ‘미생’의 숨은 주역으로 “더 이상 출연하지 않아 시청자들 기억에서 가물

가물한 인턴사원 역의 배우들”을 꼽았다. 그 중에서도 2회(10월18일 방송)에서 영업1팀의 인턴사원으로 나왔던 배우 조현식을 높이 샀다. 인턴

사원 중 유일한 유부남으로 출연한 조현식은 연극 무대에서만 활동해왔다. 그는 드라마에서 퇴근 후 자는 아이를 안아보고 싶어하는 아빠의 마음을 현

실감 있게 보여줘 호평을 받았다. 최 디렉터는 “조현식씨는 회사와 가정에서 점점 위축되는 아빠의 모습을 맛깔스럽고 실감나게 살려준 배우”라고 평

가했다. 강은영기자 kiss@hk.co.kr 

link> http://hankookilbo.com/v/364c5e3cfd2c4945a81c5bcda0c4cd42 

pubDate> Thu, 27 Nov 2014 17:38:00 GMT 

media:content> http://image.hankookilbo.com/i.aspx?Guid=&Month=DirectUpload&size

=640 

media:content> http://image.hankookilbo.com/i.aspx?Guid=65d5ad7e395742938b6a5121

2c759ba1&Month=20141127&size=640 

media:content> http://image.hankookilbo.com/i.aspx?Guid=e67ff4b6c9414376a80e9e6f

3ac533a0&Month=20141127&size=640 

media:content> http://image.hankookilbo.com/i.aspx?Guid=759f1ec5f2f342f29c12194b

f37d82ea&Month=20141127&size=640 








---------------------------------------------------




'XML' 카테고리의 다른 글

XML 연습 - 자동차 구조 분석  (0) 2015.06.22
3일차_DOM, 원격XML  (0) 2015.06.22
1일차_XML개요, 이력서정보XML표현  (1) 2015.06.22
XML_Java 연동  (0) 2015.06.01
XML  (0) 2015.06.01
블로그 이미지

알 수 없는 사용자

,

--------------------------------

XML


1. XML 학습 사이트

http://www.w3schools.com/xml/default.asp


2. XML stands for eXtensible Markup Language(확장 가능한 마크업 언어).

태그(<태그명>) 형태의 명령으로 구성된 언어.

마크업 언어는 특정 데이터를 표식하는 언어.

예를 들어,


홍길동 -> 데이터 자체

<이름>홍길동</이름> -> 태그로 표시된 데이터 형식.



3. XML is designed to transport and store data.

- 데이터 저장소 역할을 하는 언어


4. 마크업 언어

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

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

예를 들어,

홍길동 -> 데이터 자체

<이름>홍길동</이름> -> 태그로 표시된 데이터 형식.

- HTML은 데이터를 표현하는 태그의 종류가 미리 지정되어 있는 상태이다.

<table>, <div> 태그등이 존재합니다.

- XML은 데이터의 형식을 표현하는 언어이다. 태그의 종류를 사용자 스스로 선택, 결정한다.

<이름>홍길동</이름> 에서 홍길동 데이터에 대한 형식은 <이름>이 된다.

<전화번호>010-111-1111</전화번호>


<성명>홍길동</성명> -> O

<name>홍길동</name> -> O


<test>홍길동</test> -> X



HTML과 XML의 비교. 

이름과 전화번호 데이터를 다루는 과정에서 

HTML 방식은 아래와 같다.

<table>

<tr>

<td>홍길동</td>

<td>010-111-1111</td>

<td>hong@naver.com</td>

</tr>

</table>


XML 방식은 아래와 같다. 데이터에 대해서 의미가 부여된 태그를 사용한다.

<회원정보 번호="1">

<이름>홍길동</이름>

<전화번호>010-111-1111</전화번호>

<이메일>hong@naver.com</이메일>

</회원정보>


5. XML 에서는 태그의 종류를 사용자 스스로 결정한다. -> 확장 가능한 특성

예를 들어, 개인 정보 표현을 아래와 같이 사용해도 된다.

<memberInfo sid="1">

<name>홍길동</name>

<telephone>010-111-1111</telephone>

<email>hong@naver.com</email>

</memberInfo>



잘못된 예는

<memberInfo sid="1">

<name>홍길동</name>

<telephone>hong@naver.com</telephone>

<email>010-111-1111</email>

</memberInfo>





6. 기본 규칙

- XML 문서 상단부에서 선언부 작성

<?xml version="1.0"?>

<?xml version="1.0" encoding="UTF-8"?>

- 루트 엘리먼트 지정. 루트 엘리먼트 이름은 사용자 스스로 결정. 나머지 모든 엘리먼트는 루트 엘리먼트 하위에만 존재할 수 있다.

<?xml version="1.0" encoding="UTF-8"?>

<루트>

</루트>

- 물리적으로 저장할 때  확장자 .xml 사용.

- 시작태그와 끝태그를 짝을 맞춰서 사용.

- 태그간의 포함 관계를 이루어야 한다. 부모, 자식 관계 성립.

- 태그에는 속성 표현이 가능한다. 속성="값" 형태로 표기.

예를 들어,


//Sample01.xml

<?xml version="1.0" encoding="UTF-8"?>

<root>

<!-- 선언부와 루트만 존재하는 XML 문서 작성 -->

<!-- 루트 엘리먼트(root 태그)도 사용자 결정 -->

<!-- XML은 프로그램이 아니고, 데이터 표현 문서일 뿐이다. -->

<!-- 데이터를 표현하는 하위 엘리먼트를 추가-마크업 언어 기본 형식 -->

</root>



//memberList.xml

<?xml version="1.0" encoding="UTF-8"?>

<memberList>

<!-- 루트엘리먼트 이름은 파일이름과 동일한 이름 사용 -->

<!-- 개인 정보 표현 문서 작성 -->

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

<!-- 동일한 이름을 가진 엘리먼트인 경우 적절한 속성과 값 부여 -->

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

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

<member mid="1">

<name>홍길동</name>

<phone>

<home>02-123-1234</home>

<cell>010-111-2222</cell>

</phone>

<email><![CDATA[hong@test.com]]></email>

</member>

<member mid="2">

<name>박길동</name>

<phone>010-234-2345</phone>

<email><![CDATA[park@test.com]]></email>

</member>

</memberList>

- 문법적으로 완벽한 XML 문서를 'Wellformed XML' 이라고 한다.




//ScheduleList.xml

<?xml version="1.0" encoding="UTF-8"?>

<scheduleList>

<schedule sid="1">

<date>2015-05-22</date>

<hour>09</hour>

<content>프로젝트 시작</content>

</schedule>

<schedule sid="2">

<date>2015-01-01</date>

<hour>09</hour>

<content>신정</content>

</schedule>

<schedule sid="3">

<date>2015-05-26</date>

<hour>09</hour>

<content>일정관리 프로그램 테스트</content>

</schedule>

</scheduleList>





//bookList.xml

<?xml version="1.0" encoding="UTF-8"?>

<bookList>

<book bid="1">

<title><![CDATA[뇌를 자극하는 JSP/Servlet]]></title>

<pub>한빛미디어</pub>

</book>

<book bid="2">

<title>Java의 정석</title>

<pub>도우출판</pub>

</book>

</bookList>





//messages.xml

<?xml version="1.0" encoding="UTF-8"?>

<messages>

  <note id="501" date="2014-11-26">

    <to><![CDATA[Tove]]></to>

    <from><![CDATA[Jani]]></from>

    <heading><![CDATA[Reminder]]></heading>

    <body><![CDATA[Don't forget me this weekend!]]></body>

  </note>

  <note id="502" date="2014-11-27">

    <to><![CDATA[Jani]]></to>

    <from><![CDATA[Tove]]></from>

    <heading><![CDATA[Re: Reminder]]></heading>

    <body><![CDATA[I will not]]></body>

  </note>

</messages>






7. XML 사용 예

- 오픈 API (네이버 개발자 센터)

http://developer.naver.com/wiki/pages/News


- RSS (한국일보 뉴스기사)

http://www.hankookilbo.com/rss.aspx


- 공공데이터포털

https://www.data.go.kr



8. XML 표현 예

- 회원정보 데이터를 위한 XML 표현

<?xml version="1.0" encoding="UTF-8"?>

<memberList>

<memberInfo sid="1">

<name>홍길동</name>

<telephone>010-111-1111</telephone>

</memberInfo>

<memberInfo sid="2">

<name>박길동</name>

<telephone>010-222-2222</telephone>

</memberInfo>

</memberList>



- 방명록 데이터를 위한 XML 표현

<?xml version="1.0" encoding="UTF-8"?>

<guestBook>

<guest>

<sid>1</sid>

<title>방명록을 준비했습니다.</title>

<name>주인장</name>

<date>20140616</date>

</guest>

<guest>

<sid>2</sid>

<title>방명록에 기록 남깁니다.</title>

<name>손님</name>

<date>20140616</date>

</guest>

</guestBook>



과제) ( 영화 상영 정보 ) 를 XML 로 표현해 봅니다. 5개 출력.


- 출력 항목 결정

- 항목들간의 관계 분석 (부모, 자식)

- XML 엘리먼트 표현 -> 영어이름 사용

- 데이터 표시

- 확장자 .xml로 저장

- 주석으로 XML 구조 설명



<?xml version="1.0" encoding="UTF-8"?>

<moviesList>

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

</moviesList>






-----------------------------------------------------




'XML' 카테고리의 다른 글

XML 연습 - 자동차 구조 분석  (0) 2015.06.22
3일차_DOM, 원격XML  (0) 2015.06.22
2일차_DTD, DOM, 로컬XML  (2) 2015.06.22
XML_Java 연동  (0) 2015.06.01
XML  (0) 2015.06.01
블로그 이미지

알 수 없는 사용자

,

XML_Java 연동

XML 2015. 6. 1. 11:46

순서]

  // 1. XML 파일을 메모리에 로드 -> XML DOM 형성
  // 2. 루트 엘리먼트 접근
  // 3. 특정 하위 엘리먼트 접근 -> 위치, 이름을 기준으로 접근
  // 4. 텍스트 노드(속성 노드)를 접근 -> 데이터 획득
  // 5. 결과 출력.

 

기본 틀 :

 

try{

 // 1. XML 파일을 메모리에 로드 -> XML DOM 형성
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document xmlObj = null;

 

// 주의) String url = ?????.xml 파일을 프로젝트명 하위에 복사할 것
String url = "?????.xml";

xmlObj = builder.parse(url);

 

// 2. 루트 엘리먼트 접근

Element root = xmlObj.getDocumentElement();

// System.out.println(root.getNodeName()); //루트명 출력됨(확인)

 

// 3. 특정 하위 엘리먼트 접근 -> 위치, 이름을 기준으로 접근
// getElementsByTagName()는 태그 이름을 가지고 자식(자손) 노드 접근하는 메소드

NodeList vehicleNodeList = root.getElementsByTagName("하위루트명"); // ex) schedules -> schedule:하위루트명

//System.out.println(vehicleNodeList.getLength()); //전달확인

 

// 4. 텍스트 노드(속성 노드)를 접근 -> 데이터 획득

for (int i = 0; i < scheduleNodeList.getLength(); i++) {
    Node scheduleNode = scheduleNodeList.item(i);
    
    Element scheduleElement = (Element) scheduleNode;

 

// 5. 결과 출력.

    System.out.printf("%s %s %s %n",
      getText(scheduleElement, "date"),
      getText(scheduleElement, "hour"),
      getText(scheduleElement, "content"));
   }

 

}catch(Exception e){

e.printStackTrace();

}

 

private static String getText(Element parent, String tagName) {
  String result = "";
  // 특정 태그 이름을 가진 객체의 첫 번째 자식 노드를 얻는 과정
  Node node = parent.getElementsByTagName(tagName).item(0);
  Element element = (Element) node;
  // 특정 엘리먼트의 자식 노드(Text Node)의 값(nodeValue)를 얻는 과정
  result = element.getChildNodes().item(0).getNodeValue();
  return result;
 }

 

 

'XML' 카테고리의 다른 글

XML 연습 - 자동차 구조 분석  (0) 2015.06.22
3일차_DOM, 원격XML  (0) 2015.06.22
2일차_DTD, DOM, 로컬XML  (2) 2015.06.22
1일차_XML개요, 이력서정보XML표현  (1) 2015.06.22
XML  (0) 2015.06.01
블로그 이미지

알 수 없는 사용자

,

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>

'XML' 카테고리의 다른 글

XML 연습 - 자동차 구조 분석  (0) 2015.06.22
3일차_DOM, 원격XML  (0) 2015.06.22
2일차_DTD, DOM, 로컬XML  (2) 2015.06.22
1일차_XML개요, 이력서정보XML표현  (1) 2015.06.22
XML_Java 연동  (0) 2015.06.01
블로그 이미지

알 수 없는 사용자

,