금요일, 4월 26
Shadow

#007 XML 만들기(config)파일로 생성시

오늘 보실 프로그램의 용도는………..

점심먹고, 담배한대하고, 커피한잔 해도 일이 손에 안잡힐때 리듬을 타게하는 정도…?? ㅋㅋㅋㅋ

 

[ 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>

소스구성은 이렇습니다.

 

한번 보시고 참고하실 부분은 참고 하시면 됩니다…^^;;

 

그럼 공부 열심히들 하세요… 저는 이거 컴포넌트로 해서 다방면으로 좀 쓰이도록 만드는 작업을…^^;;

고고싱~~

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.