Загрузка XML с возможными бесконечными тегами - PullRequest
0 голосов
/ 17 мая 2010

(я делаю это в AS3, но я уверен, что ответ может быть дан в psuedocode)

По сути, у меня есть XML-файл, похожий на:

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

Да, в некоторой степени это плохой дизайн. Но идея, к которой я стремлюсь, заключается в том, что любое Событие может скомпрометировать другие События, и эта идея как бы повторяется.

Есть идеи, как это сделать?

Ответы [ 2 ]

2 голосов
/ 17 мая 2010

Использовать рекурсию?

0 голосов
/ 18 мая 2010
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
     {
     }
   }

}
...