Я не полностью понял ваш псевдокод ... что происходит с массивом values
? кажется, просто отбрасывается ... также, кажется, не является рекурсивным ...
проблема в том, что семантика XML и ECMA-объектов различна ...
что бы вы отобразили это?
<cart><item /><item /></cart>
а потом, что бы это было?
<cart><item /><cart>
а что это?
<cart />
проблема в том, что в первом случае у вас есть массив, во втором свойство, в третьем ничего ... так что вы не можете знать, что будет cart.item
... даже если вы скажем, что одиночные дочерние узлы будут заключены в массив, у вас все еще может не быть записи, и, таким образом, cart.item
- это null
... не то, что as2 будет жаловаться, если вы обращаетесь к свойствам null
, но все же это довольно некрасиво ...
e4x - лучший способ прохождения объектов XML из мира ECMA ...
Подумав немного, я собрал небольшую (довольно хакерскую) библиотеку: http://code.google.com/p/as24x/
Вы можете найти другие библиотеки на Google, которые поддерживают больше функций ... это скорее о синтаксисе ...
надеюсь, это поможет;)
Greetz
back2dos