2010-05-16 3 views
0

(내가 AS3에서이 일을 해요,하지만 난 psuedocode에 제공 할 수있는 대답은 확신) 기본적으로로드 XML

, 나는 유사한 XML 파일이 있습니다

<Main> 
<Event> 
    <Name>Blah</Name> 
    <Event> 
    <Name>Blah2</Name> 
    <Event> 
    <Name>Blah3</Name> 
    ... 
    </Event> 
    </Event> 
</Event> 
</Main> 

그래, 어느 정도는 디자인이 좋지 않습니다. 그러나 내가하려는 아이디어는 모든 이벤트가 다른 이벤트를 손상시킬 수있는 잠재력을 가지고 있으며이 아이디어가 다소 반복된다는 것입니다.

이 작업을 수행하는 방법에 어떤 아이디어?

+0

당신은 조금 더 명확를 설명해 할 수 있습니까? –

+0

어떻게 무한합니까? xml은 정의에 의해 유한합니다. 디스크에있는 파일입니다. –

+0

집합 번호가 중첩 된 태그가 없음을 의미합니다. 그건 내가 '무한'을 의미하는 것입니다. – Firstmate

답변

2

재귀를 사용 하시겠습니까?

+0

그 부분을 얻지 만 어떻게 ...? 재귀 함수처럼? – Firstmate

0
var xml:XML = <Main> 
       <Event> 
        <Name>Name1<Name> 
        <Event> 
        <Name>Name2</Name> 
        ........... 
        </Event> 
       </Event> 

       </Main> 
var event:MyEvent = getEvent(xml); 

function getEvent(xml:XML):MyEvent 
{ 

    var event:MyEvent = new MyEvent(); 
    var xmlList:XMLList = xml.children(); 
    for(i = 0; i < xmlList.length(); i++){ 
    if(xml[i].hasOwnProperty("Name")){ 
     event.name = xml[i]["Name"]; 
     } 
    if(xml[i].hasOwnProperty("Event")){ 
     event.event = getEventVO(xml[i]["Event"]); 
     } 

    } 
    return event; 

} 

MyEvent.as

package 
{ 

    public class MyEvent 
    { 

    public var name:String; 
    public var event:Event; 

    public function MyEvent():void 
    { 
    } 
    } 

}