2010-09-10 30 views
1

我建立一個XML編輯器,我有一個小麻煩解析了在通過XML文件AS3 - 最深XML元素

此刻,我只能解析XML元素一定深度的,我是想知道如何才能得到最深的XML元素,因爲目前我有一系列循環通過xmlElem.children()循環,但這隻允許我解析到一定的深度,所以它非常有限。

任何幫助表示讚賞!

乾杯, 哈利。

回答

2

聽起來像是遞歸http://en.wikipedia.org/wiki/Recursion_%28computer_science%29

這個函數將遍歷整個XML結構的作業,而不管其大小/深度的。

function parseChildren(parent:XML):void { 
    for each(child:XML in parent.children()) { 
     //do whaterver... 

     if(child.children().length() > 0) { 
      parseChildren(child); 
     { 
    } 
} 
+0

啊,真是太棒了,非常感謝!正是我需要的。乾杯:) – harrynorthover 2010-09-10 22:34:56

0

您還可以使用轉換從Flex的AS3 Flash的AS3下面的SimpleXML類。你可以在這裏找到它:Author website或直接從這裏下載:SimpleXML source

我發現這個類非常有助於訪問XML。

0

這可能是你在找什麼:

var _xml:XML; 
for each(var _element:XML in _xml.descendants()) 
{ 
    trace(_element); 
} 

雖然這個循環就是一個例子,「後裔()」函數返回的孩子,孫子,曾孫,等開和無論大小和深度如何,解析XML對象並查看所有元素。