Показать сообщение отдельно
Старый 26.10.2007, 03:05
eXplozive вне форума Посмотреть профиль Отправить личное сообщение для eXplozive Найти все сообщения от eXplozive
  № 1  
Ответить с цитированием
eXplozive
 
Аватар для eXplozive

Регистрация: Apr 2006
Сообщений: 184
Question Проблема с парсингом ХМЛ

Доброй всем ночи...

Вот паршу ХМЛ через класс
Код класса

Код:
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 . не могу понять в чем проблема... Уважаемые гуру помогите пожалуйста.