![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Sep 2007
Сообщений: 36
|
Нужна помощь в понимании ситуации.
Попробую описать проблему: Есть XML файл с него считываю и пересобираю XML для DataGrid XML: <?xml version="1.0" encoding="utf-8"?> <data> <node><Date>2008-01-14</Date><Text>TEST3</Text></node> <node><Date>2008-01-11</Date><Text>TEST1</Text></node> <node><Date>2008-01-11</Date><Text>TEST2</Text></node> </data> DGXML.removeAll();
var TXML:XML=XML(XMLLoade.data);
var NumNode:int=TXML.node.length();
for(var i:int=0;i<NumNode;i++)
{
var xml:XML=XML(TXML.child(i));
DGXML.addItem(xml);
}
При каждом в TXML появляется копия одного из нодов. Как и почему? Если for переписать так: то программа просто зацикливается, так как при каждой операции с TXML «длинна» ее увеличивается. |
|
|||||
|
Регистрация: Nov 2007
Адрес: Кострома
Сообщений: 17
|
может надо писать:
а не:
|
|
|||||
|
Регистрация: Sep 2007
Сообщений: 36
|
Вот скриншот из дебагера (прикреплен) множится второй нод и у всех нодов появляется еще один уровень вложенности
Читаю ХМЛ-ку: XMLRequest=new URLRequest("XML.xml");
XMLLoade =new URLLoader(NewsRequest);
XMLLoade.addEventListener("complete",function loade():void
{
});
Цитата:
возвращает реальное количество нодов. Да и проблема к сожалению не в этом. Последний раз редактировалось etc; 14.01.2008 в 12:53. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
А что помешало использовать dataProvider.
|
|
|||||
|
Регистрация: Sep 2007
Сообщений: 36
|
Вот так все работает идеально, но в чем была проблема, я так и не понял!
XMLRequest=new URLRequest("XML.xml");
XMLLoade =new URLLoader(NewsRequest);
XMLLoade.addEventListener("complete",function loade():void
{
DGXML.removeAll();
for(var i:int=0;i<XML(DocLoade.data).node.length();i++)
{
DGXML.addItem(XML(DocLoade.data).node[i]);
}
});
Цитата:
Последний раз редактировалось SSergeyS; 14.01.2008 в 15:13. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
SSergeyS, я устал объединять за вами посты. Все ответы на цитаты должны быть в одном посте, а не пачкой постов подряд. Исправляйте и больше так не делайте.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 09:45. |
|
|
« Предыдущая тема | Следующая тема » |
|
|