goodguy, [Флеш не умеет читать php файлы, это дело апачи сервера.] - да я знаю, ну прошу прощения если я не правильно выразился. [где вообще код из флешки? Здесь форум по флешу, а не по php] - код брал с
http://alt-f4.ru/actionscript-and-xml#comment-3182
Код класса парсера

Код AS1/AS2:
import mx.utils.Delegate; // подключаем Delegate class
class MyXml {
var file:String; // адрес/имя xml-файла
private var _xml:XML = null; // загруженный обьект xml
public var _data:Object = null; // результирующий объект с данными
// конструктор класса (аргумент - имя файла):
public function MyXml(f:String) {
this.file = f;
this._xml = new XML(); // создаем объект xml
// игнорировать текстовые узлы, содержащие только пробельные символы:
this._xml.ignoreWhite = true;
// указываем область действия обработчику:
this._xml.onLoad = Delegate.create(this, xmlParser);
this._xml.load(this.file); // начинаем загрузку xml-документа
}
private function xmlParser(success):Void {
// метод load возвражает булевое значение - успешность загрузки:
if (success) {
trace('k');
this._data = new Object(); // инициализируем объект для данных
var group = this._xml.firstChild.firstChild; // берем указатель на первый элемент
while (group) { // и в цикле пробегаем по всем остальным
var gr_id = group.attributes.gr_id;
this._data[gr_id] = new Object();
this._data[gr_id]['gr_name'] = group.attributes.gr_name;
this._data[gr_id]['items'] = new Object;
var item = group.firstChild; // первый ребенок группы
while(item) { // цикл по детям
var id = item.attributes.id;
this._data[gr_id]['items'][id] = new Object();
this._data[gr_id]['items'][id]['name'] = item.attributes.name;
// для текстового нода в АС2 нужно брать firstChild, а потом уже nodeValue:
this._data[gr_id]['items'][id]['description'] = item.firstChild.nodeValue;
item = item.nextSibling;
}
group = group.nextSibling;
}
}
// вызываем внешнюю функцию для распечатки (читай - использования) полученных данных,
// параметр - прошла ли загрузка успешно
_root.printXmlData(success);
}
}
код в первом кадре

Код AS1/AS2:
//New_fall
var start_data_yes:Number;
onEnterFrame = function()
{
if(String(start_data_yes)=="undefined")
{
start_data_yes=1;
//Стартовали
trace("Инициализация данных...");
//_______________________________ Подключение класса вывода ______________________
var trace_clss_ex:trace_clss = new trace_clss();//Подключаем класс trace_clss
_global.trace_clss_ex = trace_clss_ex;
_global.trace_clss_ex.setWindow(_root.trace_mc);
_global.trace_clss_ex.setTrace("Подключен класс trace_clss");
//_______________________________ Подключение класса данных пользователя ___________________________
var user_data_clss_ex:user_data_clss = new user_data_clss();
_global.user_data_clss_ex = user_data_clss_ex;
_global.user_data_clss_ex.setFolderPath("game_xml_files");
_global.user_data_clss_ex.setFileUserData("get_user_data_xml.php");
_global.user_data_clss_ex.XMLDataUserLoad();
}//end if
if(_global.user_data_clss_ex.getDataUserIsset()==1)
{
//Если мы здесь - значит данные юзера успешно прочитались
_global.user_data_clss_ex.setDataUserIsset(2);//Данные юзера прочлись, пометим временную ненужность получения повторных данных
_global.trace_clss_ex.setTrace("данные юзера успешно прочитались");
if(_global.trace_clss_ex.getXmlStatus()=="ok")
{
_global.trace_clss_ex.setTrace("подтверждение об успешности чтения");
}//end if
else
{
_global.trace_clss_ex.setTrace("лажа какая-то...");
}//end if
}//end if
var t=_global.user_data_clss_ex.getXmlStatus();
_global.trace_clss_ex.setTrace(t);
}//end onEnterFrame
import MyXml // подключаем класс
var myxml:MyXml = new MyXml('get_test_xml.php'); // создаем экземпляр - объект myxml
function printXmlData(succ:Boolean):Void {
if (!succ) {
trace('Возникла ошибка при попытке загрузить xml');
}else {
trace('ok');
// распечатываем наш объект с помощью двух вложенных циклов
for (var gr_id in myxml._data) {
trace(myxml._data[gr_id]['gr_name'] + ' [' + gr_id + ']');
for (var id in myxml._data[gr_id]['items']) {
trace('--' + myxml._data[gr_id]['items'][id]['name'] + ' [' + id + ']');
trace('--' + myxml._data[gr_id]['items'][id]['description']);
}
}
}
}
_____________________________________________________________________________
_____________________________________________________________________________
goodguy, спасибо большое за ответ - у меня сейчас нет времени проследовать вашим указаниям - смогу это сделать только через пару дней. Но я сразу напишу о результатах как только сделаю что вы сказали. Здорово было бы решить эту штуку - это важный момент и без него тяжело... конечно, на крайняк я смогу формировать из php xml код и сохранять его в файле, а флешем уже читать файл, но это ресурсозатратно будет((