PDA

Volledige versie bekijken : XMLNode extenden en casten


Sjeiti
%Europe/Berlin %647 %2005, 15:32
Ik probeer het nog maar eens...
Ik wil recursief door een xml document heen om bepaalde childnodes te returnen. (ik gebruik XMLNode en niet XML omdat de childNodes van XML een instance van XMLNode zijn: Object-XMLNode-XML)
Het vreemde is dat een childNode zich niet laat casten naar XMLNode2... waarom niet?... logischerwijs moet dat toch kunnen?
Dit is dus false: XMLNode2(xXml.childNodes[0]) instanceof XMLNode2 (waarbij xXml een XML instance is).

class XMLNode2 extends XMLNode {
public function get(sName:String, iDepth:Number, aReturn:Array):Array {
trace("poepjes");
if (iDepth==null) iDepth = -1;
if (aReturn==null) aReturn = new Array();
if (iDepth!=0) iDepth--;
for (var i=0;i<this.childNodes.length;i++) {
var xNode:XMLNode2 = XMLNode2(this.childNodes[i]);
if (xNode.nodeName==sName) aReturn.push(xNode);
if (xNode.childNodes.length!=0&&iDepth!=0) aReturn = xNode.get(sName,iDepth,aReturn);
}
return aReturn;
}
}

gr... Ron

(misschien moet ik maar weer gewoon as1 gaan doen... dat werkt ten minste)