У меня есть несколько строк кода:
lev = arrInfo[1]
xml = sxml;
switch(lev){
case 0: xml = sxml;
break;
case 1: var xl:XML = arrInfo[0];
xml.sublevels = xl;
break;
case 2: xl = arrInfo[0];
xml.sublevels.sublevel.sublevels = xl;
break;
case 3: xl = arrInfo[0];
xml.sublevels.sublevel.sublevels.sublevel.sublevels = xl;
break;
}
В операторе switch он проверяет, к какому уровню подуровней должен быть присоединен XML XML, и на основании этого уровня он присоединяется к нему. Итак, если уровень три, это означает, что xl должен заменить подуровни на этом уровне. В случае 3: xl заменяет подуровни в узле подуровня узла (уровень-1), а если у меня есть случай 4: тогда xl должен заменять подуровни узла подуровня (4-1) подуровней. Это будет выглядеть примерно так:
case 4: xl = arrInfo[0];
xml.sublevels.sublevel.sublevels.sublevel.sublevels.sublevel.sublevels = xl;
Однако это означает, что мне придется делать это вручную, если я знаю количество подуровней во вложенном XML, но это будет очень много работы, если уровни были 20 или кто-то добавит новый уровень, который не был отмечен вручную оператор switch.
Кто-нибудь знает, как я могу решить эту проблему?