|
|
|||||
Регистрация: Apr 2006
Сообщений: 184
|
Проблема с парсингом ХМЛ
Доброй всем ночи...
Вот паршу ХМЛ через класс Код класса class ot.OnlinePlayer extends MovieClip { private var x:XML; private var pxml:Object; public function OnlinePlayer(pMovieClip){ var aaa = parseXML(_root.xmlPuth); trace(aaa.xml.layout.menus.length); } private function toObject():Object{ var $xparse = function (n) { var o = new String (n.firstChild.nodeValue), s, i, t for (s = (o == "null") ? n.firstChild : n.childNodes[1]; s != null; s = s.nextSibling) { t = s.childNodes.length > 0 ? arguments.callee (s) : new String (s.nodeValue) for (i in s.attributes) t[i] = s.attributes[i] if (o[s.nodeName] != undefined) { if (!(o[s.nodeName] instanceof Array)) o[s.nodeName] = [o[s.nodeName]] o[s.nodeName].push (t) } else o[s.nodeName] = t } return o } return $xparse (this) } private function parseXML(xmlPuth):Object{ x = new XML (); x.ignoreWhite = true; x.load (xmlPuth); x.onLoad = function (){ pxml = this.toObject(); } return pxml; } } <?xml version="1.0" encoding="utf-8"?> <xml> <layout> <menus width="150" height="250"></menu> <menus width="150" height="250"></menu> <menus width="150" height="250"></menu> <menus width="150" height="250"></menu> </layout> </xml> Трейс выдает undefined . не могу понять в чем проблема... Уважаемые гуру помогите пожалуйста. |
|
|||||
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
|
Загрузка происходит асинхронно выполнению кода.
Только после полной загрузки срабатывает onLoad и происходит ваш парсинг (хотя не факт, я не смотрел, что у вас с областями видимости), но вы сразу же выдаете return pxml и пытаетесь вывести в трейс. Последний раз редактировалось iNils; 26.10.2007 в 03:39. |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
eXplozive, XML не может быть загружен мгновенно. Нельзя его вернуть, как результат функции.
|
|
|||||
Регистрация: Apr 2006
Сообщений: 184
|
Так ... значит применил другое решение ...
http://proto.layer51.com/d.aspx?f=1340 Взял эти классы... Вроде как получилось... |
Часовой пояс GMT +4, время: 17:52. |
|
« Предыдущая тема | Следующая тема » |
|
|