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

Регистрация: Apr 2008
Сообщений: 82
По умолчанию Оболочка XML.

Пишу класс, наследующий XML. Хочу добавить методы свои и стойства.
Код:
class hvClasses.CDataNode extends XML
{
	private var xmlData:XML;
.............
        public function byStr(index:String):CDataNode
	{
		var res:CDataNode = null;
		for (var i = 0; i<=xmlData.childNodes.length-1; i++)
		{
			if (xmlData.childNodes[i].nodeName == index)
			{
				res = CDataNode(xmlData.childNodes[i]);
				break;
			}
		}
		return res;
	}
Конструирование, насколько можно судить по результатам последующей загрузки данных, проходит. Результаты я смотрю соответственно так:
Код:
var myNode = new CDataNode();
myNode.ignoreWhite = true;
myNode.loadFromFile("circus.xml");
myNode.onLoad = function(success) {
//	trace(myNode);
	trace(myNode.status);
	trace(myNode.byStr('body'));
//	trace('count ' + myNode.byStr('body').byStr('hall').count);
//	trace('attrs ' + myNode.byStr('body').byStr('hall').attrCount);
//	trace('depth ' + myNode.byStr('body').byStr('hall').depth(true));
}
Но метод byStr мало того, что не работает, при попытке дебажить ваще виснет всё напрочь и схлопывается потом. loadFromFile - тоже переписанный метод, и если его поставить в конец блока - ничего не изменится.