Просмотр полной версии : xml глюк
при первом чтении с xml файла flash дает indefinite значениям переменых, но при обновлении все норм... почему?? если нужен код скажите какую часть выложить?
bobnur
А вы ждете пока XML догрузится?
А в какой момент (по коду) вы просматриваете значения переменных?
Ну наверное, вам стоить выложите весь участок, где вы работаете с XML, опустив при этом ненужные для решения проблемы куски.
var pix_xml:XML = new XML;
pix_xml.ignoreWhite = true;
pix_xml.load(url);
pix_xml.onLoad = function(success:Boolean){
if(success){
parseXML();
play();
}else{
trace("Error: Can't load XML");
}
}
это загруска xml...
function parseXML():Void
{
//trace(pix_xml.firstChild.childNodes.length);
for(var i=0; i<pix_xml.firstChild.childNodes.length; i++)
{
var obj:Object = {txt:pix_xml.firstChild.childNodes[i].attributes.text, url:pix_xml.firstChild.childNodes[i].attributes.url, link:pix_xml.firstChild.childNodes[i].attributes.link};
pix_arr.push(obj);
//trace(pix_arr[i].txt);
}
это раскидование на массив из объектов...
a потом идет чтение с этих объектов!
content.xml
<?xml version="1.0" encoding="UTF-8"?>
<map>
<title>
<cell txt= "Title" />
<cell txt= "author" />
<cell txt= "data" />
</title>
<content>
<cell txt = "Content"/>
</content>
</map>
test.fla
function buildGrid() {
var board:XMLNode = new XML();
board = boardXML.firstChild;
//------------------------------------------
var tempArray:Array = new Array();
tempArray = board.childNodes;
//------------------------------------------
var tempText:Array = new Array();
var tempContent:Array = new Array();
var tempContent2:String = "";
//------------------------------------------
temp = tempArray[0].childNodes;
for(var i = 0;i<=2;i++){
var temp2 = temp[i].attributes.txt;
tempText.push(temp2)
}
//-----------------------------------------------
var tempArray2:Array = new Array();
tempArray2 = tempArray[1].childNodes;
for (var i:Number = 0; i<tempArray2.length; ++i) {
tempContent.push(tempArray2[i].attributes.txt);
tempContent2 += (tempArray2[i].attributes.txt);
}
trace(tempText);
trace(tempContent2);
}
//---------------------------------------------
var boardXML:XML = new XML();
boardXML.ignoreWhite = true;
boardXML.prototype.ignoreWhite = true;
boardXML.onLoad = buildGrid;
boardXML.load("content.xml");
//------------------------------
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.