使用可能的无限标记加载XML

时间:2010-05-16 22:22:19

标签: xml actionscript-3 infinite-loop

(我在AS3中这样做,但我确定答案可以在psuedocode中给出)

基本上,我有一个类似于:

的XML文件
<Main>
 <Event>
  <Name>Blah</Name>
  <Event>
   <Name>Blah2</Name>
   <Event>
    <Name>Blah3</Name>
    ...
   </Event>
  </Event>
 </Event>
</Main>
是的,在某种程度上,这是糟糕的设计。但我想要的是,任何事件都有可能危及其他事件,这种想法有点循环。

关于如何做到这一点的任何想法?

2 个答案:

答案 0 :(得分:2)

使用递归?

答案 1 :(得分: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
     {
     }
   }

}