Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 나의 프로젝트
- ror실행
- flex3
- node.js web framework
- express for node.js
- 명사 추출기
- php
- 메일왕창보내는법
- 도커
- Eclipse
- 명사 분석기
- ajax
- iBatis
- scala
- rss
- 주식이야기
- Lift
- Cross
- docker
- 스킨 스쿠버
- nodejs express
- 베트남어
- 나의 취미
- C/C++
- Node.js
- ejb
- 명사 뽑아내기
- 디즈니씨
- 책이야기
- php thumbnail
Archives
- Today
- Total
nkdk의 세상
AS3.0의 XML에 활용 2부 본문
자 다음에 내용에 이어서..
var message:XML =
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<soap:Body>
<m:GetLastTradePrice xmlns:m="http://mycompany.com/stocks">
<symbol>DIS</symbol>
</m:GetLastTradePrice>
</soap:Body>
</soap:Envelope>;
var soap:Namespace = new Namespace("http://schemas.xmlsoap.org/soap/envelope/");
var encodingStyle:XMLList;
encodingStyle= message.@soap::encodingStyle;
trace("결과1",encodingStyle.toXMLString());
encodingStyle= message.soap::Body;
trace("결과2",encodingStyle.toXMLString());
encodingStyle= message.soap::["Body"];
trace("결과3",encodingStyle.toXMLString());
trace("localName::",message.localName());
trace("namespace.prefix::",message.namespace().prefix);
trace("namespace.uri::",message.namespace().uri);
trace된 결과 값을 보고 유추 하시기 바랍니다. 설명을 굳이 안 드려도 될 것 같네요.
자 다음은 XML Initialiser인데 {} 라는 흥미로운 것 입니다.
예제:
var tagname:String = "name";
var attributename:String = "id";
var attributevalue:Number = 5;
var content:String = "Fred";
var mX :XML=
<{tagname}
{attributename}={attributevalue}>
{content}
</{tagname}>;
trace(mX.toXMLString());
실행해 보시고 내용을 이해해 보시면 알 듯 하네요. 해당되는 var를 XML에 넣는 거네요 ^^
for (var i:Number = 0; i< 10; i++)
e[i] = < employee id={i}>
<name>{names[i].toUpperCase()}</name>
<age>{ages[i]}</age>
</employee>;
이와 같은 강력함이 보이는 구문도 만드는 것이 가능합니다.
이번에는 <> </> 에 대해 설명드릴께요.. 해당 XML을 초기화 해주는 명령어 입니다.
var docfrag:XMLList = <><data>data1</data></>;
var emplist:XMLList =
<>
<data>data2</data>
</>;
trace("결과1",docfrag);
trace("결과2",emplist);
trace("결과3",docfrag+emplist);
이와 같이 씁니다.
__________________________________
이번에는 Property Accessors 에 대해 알아 볼까요.
var order:XML =
<order id="test">
<data>data1</data>
<data>data2</data>
</order>;
trace("결과1",order.data[0]);
trace("결과2",order["data"][0]);
trace("결과3",order.@id);
trace("결과4",order["@id"]);
한눈에 팍팍 와 닿죠?
하는 김에 XML 끝장 내버리겠습니다.
이번에는 Function Calls(괄호)
var rectangle:XML =
<rectangle>
<x>50</x>
<y>75</y>
<length>20</length>
<width>30</width>
</rectangle>;
var numRectangles:Number = rectangle.length();
var rectangleLength:Number = rectangle.length;
rectangle.length = 50;
trace(numRectangles,rectangleLength,rectangle.length);
내용을 보시고 이해 하시고요.
XML Filtering Predicate Operator .()
.(Boolean 데이터 형의 표현식)
표현식을 사용하여 데이터를 필터링 합니다. 꼭 불린으로 리턴해야 함
var e:XML=<employees>
<employee id="0">
<name>ho0</name>
</employee>
<employee id="1">
<name>ho1</name>
</employee>
<employee id="2">
<name>ho2</name>
</employee>
</employees>
var ho0:XMLList = e.employee.(name=="ho0");
var twoemployees:XMLList = e.employee.(@id == 0 || @id == 1);
var emp:XMLList = e.employee.(@id == 1).name;
trace("결과1", ho0);
trace("결과2", twoemployees);
trace("결과2", emp);
이런식으로 작성합니다.
훨씬 코딩이 간단해 집니다.
delete Operator에 대하여..
delete order.customer.address; // 커스터머의 모든 element address 제거
delete order.customer.@id; // 커스터머의 모든 attribute id 제거
delete order.customer.price[0]; // 첫 번째 price Element 제거
delete order.customer.item; // 모든 item Element 제거
특정 Element 나 Attribute 를 제거 할 때 사용합니다.
XMLSocket 클래스
TCP/IP기반의 통신 엔진입니다. XMLSocket 를 본격적으로 사용하기 위해서는 XMLServer 를 선택하고 설치하는 과정이 있지만 여기에서는 개념만 짚고 넘어 갑니다. 여기에서는 간단한 코딩만 짚고 넘어 갑니다.
XMLSocket 인스턴스 생성
var socket:XMLSocket = new XMLSocket();
Event Listener 설정
socket.addEventListener(Event.CLOSE, closeHandler);
socket.addEventListener(Event.CONNECT, connectHandler);
socket.addEventListener(DataEvent.DATA, dataHandler);
socket.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
socket.addEventListener(ProgressEvent.PROGRESS, progressHandler);
socket.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
XMLServer로 접속 시도 TCP/IP서버 이면 모두 접속 가능
socket.connect("localhost", 808);
접속 성공하면 데이터 전송
socket.send(data);
모든 처리가 끝나면 접속 해제
socket.close();
이로써 xml파트는 마치도록 하겠습니다 ^^
var message:XML =
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<soap:Body>
<m:GetLastTradePrice xmlns:m="http://mycompany.com/stocks">
<symbol>DIS</symbol>
</m:GetLastTradePrice>
</soap:Body>
</soap:Envelope>;
var soap:Namespace = new Namespace("http://schemas.xmlsoap.org/soap/envelope/");
var encodingStyle:XMLList;
encodingStyle= message.@soap::encodingStyle;
trace("결과1",encodingStyle.toXMLString());
encodingStyle= message.soap::Body;
trace("결과2",encodingStyle.toXMLString());
encodingStyle= message.soap::["Body"];
trace("결과3",encodingStyle.toXMLString());
trace("localName::",message.localName());
trace("namespace.prefix::",message.namespace().prefix);
trace("namespace.uri::",message.namespace().uri);
trace된 결과 값을 보고 유추 하시기 바랍니다. 설명을 굳이 안 드려도 될 것 같네요.
자 다음은 XML Initialiser인데 {} 라는 흥미로운 것 입니다.
예제:
var tagname:String = "name";
var attributename:String = "id";
var attributevalue:Number = 5;
var content:String = "Fred";
var mX :XML=
<{tagname}
{attributename}={attributevalue}>
{content}
</{tagname}>;
trace(mX.toXMLString());
실행해 보시고 내용을 이해해 보시면 알 듯 하네요. 해당되는 var를 XML에 넣는 거네요 ^^
for (var i:Number = 0; i< 10; i++)
e[i] = < employee id={i}>
<name>{names[i].toUpperCase()}</name>
<age>{ages[i]}</age>
</employee>;
이와 같은 강력함이 보이는 구문도 만드는 것이 가능합니다.
이번에는 <> </> 에 대해 설명드릴께요.. 해당 XML을 초기화 해주는 명령어 입니다.
var docfrag:XMLList = <><data>data1</data></>;
var emplist:XMLList =
<>
<data>data2</data>
</>;
trace("결과1",docfrag);
trace("결과2",emplist);
trace("결과3",docfrag+emplist);
이와 같이 씁니다.
__________________________________
이번에는 Property Accessors 에 대해 알아 볼까요.
var order:XML =
<order id="test">
<data>data1</data>
<data>data2</data>
</order>;
trace("결과1",order.data[0]);
trace("결과2",order["data"][0]);
trace("결과3",order.@id);
trace("결과4",order["@id"]);
한눈에 팍팍 와 닿죠?
하는 김에 XML 끝장 내버리겠습니다.
이번에는 Function Calls(괄호)
var rectangle:XML =
<rectangle>
<x>50</x>
<y>75</y>
<length>20</length>
<width>30</width>
</rectangle>;
var numRectangles:Number = rectangle.length();
var rectangleLength:Number = rectangle.length;
rectangle.length = 50;
trace(numRectangles,rectangleLength,rectangle.length);
내용을 보시고 이해 하시고요.
XML Filtering Predicate Operator .()
.(Boolean 데이터 형의 표현식)
표현식을 사용하여 데이터를 필터링 합니다. 꼭 불린으로 리턴해야 함
var e:XML=<employees>
<employee id="0">
<name>ho0</name>
</employee>
<employee id="1">
<name>ho1</name>
</employee>
<employee id="2">
<name>ho2</name>
</employee>
</employees>
var ho0:XMLList = e.employee.(name=="ho0");
var twoemployees:XMLList = e.employee.(@id == 0 || @id == 1);
var emp:XMLList = e.employee.(@id == 1).name;
trace("결과1", ho0);
trace("결과2", twoemployees);
trace("결과2", emp);
이런식으로 작성합니다.
훨씬 코딩이 간단해 집니다.
delete Operator에 대하여..
delete order.customer.address; // 커스터머의 모든 element address 제거
delete order.customer.@id; // 커스터머의 모든 attribute id 제거
delete order.customer.price[0]; // 첫 번째 price Element 제거
delete order.customer.item; // 모든 item Element 제거
특정 Element 나 Attribute 를 제거 할 때 사용합니다.
XMLSocket 클래스
TCP/IP기반의 통신 엔진입니다. XMLSocket 를 본격적으로 사용하기 위해서는 XMLServer 를 선택하고 설치하는 과정이 있지만 여기에서는 개념만 짚고 넘어 갑니다. 여기에서는 간단한 코딩만 짚고 넘어 갑니다.
XMLSocket 인스턴스 생성
var socket:XMLSocket = new XMLSocket();
Event Listener 설정
socket.addEventListener(Event.CLOSE, closeHandler);
socket.addEventListener(Event.CONNECT, connectHandler);
socket.addEventListener(DataEvent.DATA, dataHandler);
socket.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
socket.addEventListener(ProgressEvent.PROGRESS, progressHandler);
socket.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
XMLServer로 접속 시도 TCP/IP서버 이면 모두 접속 가능
socket.connect("localhost", 808);
접속 성공하면 데이터 전송
socket.send(data);
모든 처리가 끝나면 접속 해제
socket.close();
이로써 xml파트는 마치도록 하겠습니다 ^^