![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Feb 2006
Сообщений: 32
|
Есть класс loadXML
class loadXML {
private var load_xml:XML;
private var arr_xml:Array;
public function getResultArray(xmlfile:String):Array {
return arr_xml;
}
public function loadXML() {
trace('loadXML');
}
public function parseXml(xmlfile:String) {
this.load_xml = new XML();
this.load_xml.ignoreWhite = true;
trace('parseXML 0');
this.load_xml.onLoad = this.onLoadParseXML();
this.load_xml.load(xmlfile);
var rootNode1:XMLNode = this.load_xml.firstChild;
if(rootNode1.firstChild == null){
trace('net node 1');
}
}
private function onLoadParseXML() {
trace('onLoadParseXML 0');
this.arr_xml = new Array();
var i = 0;
var rootNode:XMLNode = this.load_xml.firstChild;
if(rootNode.firstChild == null){
trace('net node 2');
}
for (var itemNode:XMLNode = rootNode.firstChild; itemNode != null; itemNode=itemNode.nextSibling) {
//trace(aNode.firstChild.nodeValue);
for (var aNode:XMLNode = itemNode.firstChild; aNode != null; aNode=aNode.nextSibling) {
this.arr_xml[i] = new Array();
if (aNode.nodeType == 1) {
this.arr_xml[i][aNode.nodeName] = aNode.firstChild.nodeValue;
trace(arr_xml[i]["title"]+":\t" + arr_xml[i]["subtitle"]);
}
i++;
}
}
trace('onLoadParseXML 4');
return this.arr_xml;
}
}
import loadXML; трейсит: parseXML 0 onLoadParseXML 0 net node 2 onLoadParseXML 4 net node 1 те онлоад событие происходит но ноды он не видит может кто подскажет как с этим бороться... |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Имена классов должны начинаться с прописной буквы.
Постфикс _xml ставится только для XML-объектов. Для массивов — _arr. При создании экземпляра класса скобки необходимы. (ну всё перечислять не буду) Ну и по существу — onLoadParseXML вызывается от имени load_xml. Используйте класс Delegate (или аналоги) для перенаправления вызова onLoad в метод класса от имени экземпляра класса. |
![]() |
![]() |
Часовой пояс GMT +4, время: 09:48. |
|
|
« Предыдущая тема | Следующая тема » |
|
|