오늘 보실 프로그램의 용도는………..
점심먹고, 담배한대하고, 커피한잔 해도 일이 손에 안잡힐때 리듬을 타게하는 정도…?? ㅋㅋㅋㅋ
[ SimpleXMLEncoderTest.mxml ]
<?xml version=”1.0″ encoding=”utf-8″?>
<!–
*************************************************
ArrayCollection -> XML 변환
*************************************************
–>
<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml”
pageTitle=”SimpleXMLDecoderTest”
layout=”vertical” verticalAlign=”middle” backgroundColor=”white”
creationComplete=”init();”>
<mx:ArrayCollection id=”ArrData”>
<mx:source>
<mx:Array>
<mx:Object UserName=”홍길동” UserTel=”010-111-2222″ />
<mx:Object UserName=”홍길순” UserTel=”010-222-2222″ />
<mx:Object UserName=”홍길남” UserTel=”010-333-2222″ />
<mx:Object UserName=”홍길국” UserTel=”010-444-2222″ />
<mx:Object UserName=”홍길섭” UserTel=”010-555-2222″ />
<mx:Object UserName=”홍길주” UserTel=”010-666-2222″ />
<mx:Object UserName=”홍길미” UserTel=”010-777-2222″ />
</mx:Array>
</mx:source>
</mx:ArrayCollection>
<mx:Script>
<![CDATA[
import mx.rpc.xml.SimpleXMLEncoder;
import mx.utils.ObjectUtil;
// ArrayCollection -> XML 로 변환 시켜 출력함
private function init():void
{
var xmlData:XML = ArrayCollectionToXML( ArrData.source );
ArrText.text = ObjectUtil.toString( ArrData.source ); // 배열의 내용을 출력함
XMLText.text = xmlData.toXMLString(); // XML 내용을 출력함
}
// ArrayCollection -> XML 로 변환하여 반환함
private function ArrayCollectionToXML( ArrObj:Object ):XML
{
var qName:QName = new QName( “root” ); // qname( API 참조 )
var xmlDocument:XMLDocument = new XMLDocument(); // xmlDocument( API 참조 )
var simpleXMLEncoder:SimpleXMLEncoder = new SimpleXMLEncoder( xmlDocument );
var xmlNode:XMLNode = simpleXMLEncoder.encodeValue( ArrObj, qName, xmlDocument ); // encodeValue( API 참조 )
var xmlData:XML = new XML( xmlDocument.toString() );
return xmlData;
}
]]>
</mx:Script>
<mx:HDividedBox width=”100%” height=”100%”>
<mx:TextArea id=”ArrText” editable=”false” width=”100%” height=”100%” />
<mx:TextArea id=”XMLText” editable=”false” width=”100%” height=”100%” />
</mx:HDividedBox>
</mx:Application>
[ SimpleXMLEncoderTest ]
<?xml version=”1.0″ encoding=”utf-8″?>
<!–
*************************************************
XML -> ArrayCollection 변환
*************************************************
–>
<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml”
pageTitle=”SimpleXMLEncoderTest”
layout=”vertical” verticalAlign=”middle” backgroundColor=”white”
creationComplete=”XMLToArrayCollection();”>
<mx:Script>
<![CDATA[
import mx.rpc.xml.SimpleXMLDecoder;
import mx.utils.ObjectUtil;
// XML -> ArrayCollection 로 변환 시켜 출력함
private function XMLToArrayCollection():void
{
// XML 파일을 읽음
var LoaderXML:XMLList = new XMLList( DataXML.item ); // XML 에서 필요한 부분만 가져옴
var xmlStr:String = LoaderXML.toString();
// XML -> ArrayCollection
var xmlDoc:XMLDocument = new XMLDocument( xmlStr );
var decoder:SimpleXMLDecoder = new SimpleXMLDecoder( true );
var resultObj:Object = decoder.decodeXML( xmlDoc );
// 그냥 출력해보는 부분
var ArrTextVar:String = “”;
var Cnt:int = resultObj.item.length;
for ( var i:int=0; Cnt>i; i++ )
{
ArrTextVar = ArrTextVar + resultObj.item[i].UserName + “\n”;
}
XMLText.text = xmlStr; // XML 내용을 출력함
ArrText.text = ArrTextVar; // 배열의 내용을 출력함
}
]]>
</mx:Script>
<!– XML 파일 –>
<mx:XML id=”DataXML” source=”_XML/ArrTest.xml”/>
<mx:HDividedBox width=”100%” height=”100%”>
<mx:TextArea id=”XMLText” editable=”false” width=”100%” height=”100%” />
<mx:TextArea id=”ArrText” editable=”false” width=”100%” height=”100%” />
</mx:HDividedBox>
</mx:Application>
[ _XML/ArrTest.xml ]
<root>
<item>
<UserName>홍길동</UserName>
<UserTel>010-111-2222</UserTel>
</item>
<item>
<UserName>홍길순</UserName>
<UserTel>010-222-2222</UserTel>
</item>
</root>
소스구성은 이렇습니다.
한번 보시고 참고하실 부분은 참고 하시면 됩니다…^^;;
그럼 공부 열심히들 하세요… 저는 이거 컴포넌트로 해서 다방면으로 좀 쓰이도록 만드는 작업을…^^;;
고고싱~~