spitfir3
Threadersteller
Dabei seit: 05.12.2006
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Sa 01.03.2008 15:01
Titel problem mit xml (childNodes...) |
|
|
hi!
also ich verstehs einfach nicht...
warum geht das auslesen der xml datei im flash nicht??
firtChild und lastChild funktioniern wunderbar, aber einzelne ansprechen wie hier (childNodes[1]) geht nicht, und ich hab keine ahnung worans liegt...
das xml file is folgendermaßen angeordnet:
Code: | <?xml version="1.0" encoding="utf-8"?>
<001>
<Bild>
<File xpos="20" ypos="20">picts/001_01.jpg</File>
</Bild>
<Bild>
<File xpos="520" ypos="20">picts/001_02.jpg</File>
</Bild>
<Bild>
<File xpos="1020" ypos="20">picts/001_03.jpg</File>
</Bild>
</001>
<002>
<Bild>
<File xpos="20" ypos="20">picts/002_01.jpg</File>
</Bild>
<Bild>
<File xpos="520" ypos="20">picts/002_02.jpg</File>
</Bild>
<Bild>
<File xpos="1020" ypos="20">picts/002_03.jpg</File>
</Bild>
<Bild>
<File xpos="1520" ypos="20">picts/002_04.jpg</File>
</Bild>
</002>
<003>
<Bild>
<File xpos="20" ypos="20">picts/003_01.jpg</File>
</Bild>
<Bild>
<File xpos="520" ypos="20">picts/003_02.jpg</File>
</Bild>
<Bild>
<File xpos="1020" ypos="20">picts/003_03.jpg</File>
</Bild>
</003> |
und um die einzelnen childNodes auszulesen hab ich dieses AS:
Code: | var Bilder_arr:Array = new Array()
var Bilder_xml:XML = new XML();
Bilder_xml.ignoreWhite = true;
Bilder_xml.onLoad = function(success:Boolean){
switch(success){
case true:
for(var i:Number = 0; i < this.childNodes[1].childNodes.length; i++){
var _node1:XMLNode = this.childNodes[1].childNodes[i];
Bilder_arr.push(new Object());
var _obj:Object = Bilder_arr[i]
for(var n:Number = 0; n < _node1.childNodes.length; n++){
var _node2:XMLNode = _node1.childNodes[n];
var _item:Object = _obj[_node2.nodeName] = new Object()
for(prop in _node2.attributes){
switch(prop){
case "align":
case "color":
_item[prop] = _node2.attributes[prop];
break;
default:
_item[prop] = parseFloat(_node2.attributes[prop]);
break;
}
}
_item.Inhalt = _node2.childNodes[1].nodeValue;
}
}
ladeBild()
break;
}
}
Bilder_xml.load("XML/portfoliopicts.xml");
var ImageCount:Number = 0;
var Image_loader:MovieClipLoader = new MovieClipLoader();
var Image_listener:Object = new Object();
Image_listener.onLoadInit = function(Ziel:MovieClip){
var _objBild:Object = Bilder_arr[ImageCount].File;
Ziel._x = _objBild.xpos;
Ziel._y = _objBild.ypos;
Ziel._width = _objBild.width;
Ziel._height = _objBild.height;
switch(ImageCount < Bilder_arr.length){
case true:
ImageCount++;
ladeBild();
break;
}
}
Image_loader.addListener(Image_listener);
var ladeBild:Function = function(){
var _img:MovieClip = this.createEmptyMovieClip("Bild" + ImageCount, 100 + ImageCount);
Image_loader.loadClip(Bilder_arr[ImageCount].File.Inhalt, _img);
} |
bitte mir zu helfen!
fg
|
|
spitfir3
Threadersteller
Dabei seit: 05.12.2006
Ort: -
Alter: -
Geschlecht: -
|
Verfasst So 02.03.2008 14:17
Titel
|
|
|
yeah
und, gibts ne chance dass du mir sagst wie er richtig umgebaut gehört?
achja, ich hab NOCH eine kleinere frage zu dem code, und zwar hab ich das mit den "Quotes" wieder eingebaut, eben auch als "Bildunterschriften"
und ich bräcuhte folgendes: der text soll rechtsbündig sein, und bestimmte worte in dem kurzen text sollen fett sein, der text soll aber ein zusammenhängender satz und auch je nach textmenge variabel sein, d.h. ich kann nicht für den fetten text und den normalen text eine fixe position vergeben...
geht das überhaupt? ^^
und wenn, wie?
fg, danke für eure antworten!
edit: ja die xml hab ich mittlerweile umgebaut, weils ja nur einen großen knoten geben darf...
aber ich kann auch wenn ich <Bilder><Bilder1bis5><Bild>...</Bild></Bilder1bis5><Bilder6bis10><Bild>...</Bild></Bilder6bis10></Bilder> hab, den ersten kinderknoten nicht, wie ich gelesen habe die richtige variante wäre, mit firstChild.childNodes(0), usw auslesen...
Zuletzt bearbeitet von spitfir3 am So 02.03.2008 14:19, insgesamt 1-mal bearbeitet
|
|