내맘대로 라이프

xml 간단 파싱 본문

Flash Actions Script 3.0 (as3)

xml 간단 파싱

내눈물 2016. 10. 17. 09:59

<?xml version="1.0" encoding="utf-8" ?> 
<items>
 <basic>
  <code>1000</code> 
  <name>개념탑재기</name> 
 </basic>
 <detail>
  <color>white</color> 
  <img>Andromeda.png</img> 
  <slot>4</slot> 
 </detail>
</items>

 

이걸 뜯어보는 소스는 아래와 같습니다.

 

var xmlLoader: URLLoader = new URLLoader();

//xml로더를 하나 만들고


var xmlData: XML = new XML();

//xml을 하나 생성하고


xmlLoader.addEventListener( Event.COMPLETE, LoadXML ); 

// 이벤트에 붙이고 로드가 완료되면 loadxml을 수행하고


xmlLoader.load( new URLRequest("test.xml") );

//text.xml을 로드하고

 

function LoadXML(e:Event):void {

//로드가 되면

 

 xmlData = XML(e.target.data)

//로드된 xml을 xmlData에 넣어주고

//trace찍어보시면 아시겠지만 xmlData는 전체를 의미합니다.

//참고로 <items>로 묶여있는 부분이 전체가 됩니다.

var code = xmlData.basic.code;
//베이직의 코드를 code에 저장

var color = xmlData.detail.color;

//디테일의 컬러를 Color에 저장


만약 detail이 한개가 아닌 여러개가 있다고 하면

xmlData.detail[0].color

xmlData.detail[1].color

xmlData.detail[2].color

이런식으로 가지고 올 수 있습니다.

.

.

.

}

 

이런 식으로 다른 내용들도 string값에 넣어주면 trace나 text로 뽑아올 수 있죠

<name lang="kor">개념탑재기</name> 이런식으로 되어있는 경우는

xmlData.basic.name.@lang 으로 값을 받아올 수 있습니다.

위 같은 경우는 @lang 은 kor이 되겠죠