KorKuno_v
24.12.2008, 00:07
Доброго времени суток, есть проблема.
Имею XML файл, в котором храняться координаты.
Проблема заключается втом, что после парсинга в массив записыватся визуально число(при выводе через trace), на самом же деле в массив записываются значения типа object. Вот код скрипта
_root.id = new Array();
_root.club = new Array();
_root.people = new Array();
_root.event = new Array();
_root.first_ev = new Array();
_root.his_id = new Array();
clubKor = new XML();
clubKor.load("http://ufa/include/xml/kor.xml");
clubKor.onLoad = function(success) {
if (success) {
rootNode = clubKor.firstChild;
main = rootNode.firstChild;
children = main.childNodes;
c = 0;
bl = children[0].firstChild;
x[c] = children[1].firstChild;
y[c] = children[2].firstChild;
while (main=main.nextSibling) {
c++;
children = main.childNodes;
bl = children[0].firstChild;
x[c] = children[1].firstChild;
y[c] = children[2].firstChild;
}
}
};
myXML = new XML();
myXML.load("http://ufa/include/xml/dump.xml");
System.useCodepage = true;
myXml.ignoreWhite = true;
clubKor.ignoreWhite = true;
myXML.onLoad = function(success) {
if (success) {
rootNode = myXML.firstChild;
clubs = rootNode.firstChild;
children = clubs.childNodes;
c = 0;
_root.id[c] = children[0].firstChild;
_root.club[c] = children[1].firstChild;
_root.event[c] = children[2].firstChild;
_root.people[c] = children[3].firstChild;
_root.first_ev[c] = children[4].firstChild;
_root.his_id[c] = children[5].firstChild;
_root["icon"].duplicateMovieClip("icon"+c, c);
_root["icon"+c]._x = x[c];
_root["icon"+c]._y = y[c];
_root["icon"+c].onRollOver = function() {
this.gotoAndStop(2);
_root.info.din_club = _root.club[this._name.slice(4, 9)];
_root.info.din_event = _root.event[this._name.slice(4, 9)];
_root.info.din_pep = _root.people[this._name.slice(4, 9)];
if (_root.first_ev[this._name.slice(4, 9)] != "null") {
_root.info.ne_mov.din_first = _root.first_ev[this._name.slice(4, 9)];
}
};
_root["icon"+c].onRollOut = function() {
this.gotoAndStop(1);
};
_root["icon"+c].onRelease = function() {
getURL("http://ufa/index.php?club_id="+_root.id[this._name.slice(4, 9)]);
};
while (clubs=clubs.nextSibling) {
c++;
children = clubs.childNodes;
_root.id[c] = children[0].firstChild;
_root.club[c] = children[1].firstChild;
_root.event[c] = children[2].firstChild;
_root.people[c] = children[3].firstChild;
_root.first_ev[c] = children[4].firstChild;
_root.his_id[c] = children[5].firstChild;
_root["icon"].duplicateMovieClip("icon"+c, c);
_root["icon"+c]._x = x[c];
_root["icon"+c]._y = y[c];
_root["icon"+c].onRollOver = function() {
this.gotoAndStop(2);
_root.info.din_club = _root.club[this._name.slice(4, 9)];
_root.info.din_event = _root.event[this._name.slice(4, 9)];
_root.info.din_pep = _root.people[this._name.slice(4, 9)];
if (_root.first_ev[this._name.slice(4, 9)] == "null") {
_root.info.ne_mov.din_first = _root.first_ev[this._name.slice(4, 9)];
}
};
_root["icon"+c].onRollOut = function() {
this.gotoAndStop(1);
};
_root["icon"+c].onRelease = function() {
getURL("http://ufa/index.php?club_id="+_root.id[this._name.slice(4, 9)]);
};
}
} else {
trace("Ошибка открытия файла!");
}
};
Вот код XML,в котором координаты:
<?xml version="1.0" encoding="UTF-8"?><main><kor_id><id>15</id><x>230</x><y>91</y></kor_id><kor_id><id>10</id><x>405</x><y>213</y></kor_id><kor_id><id>8</id><x>265</x><y>251</y></kor_id><kor_id><id>14</id><x>275</x><y>175</y></kor_id><kor_id><id>17</id><x>562</x><y>328</y></kor_id></main>
Жду ответов =) Самое главное чтобы работала вот эта строчка
_root["icon"+c]._x = x[c];
_root["icon"+c]._y = y[c];
Где x y массивы, в которые записываются из XML координаты. Заранее спасибо =)
Имею XML файл, в котором храняться координаты.
Проблема заключается втом, что после парсинга в массив записыватся визуально число(при выводе через trace), на самом же деле в массив записываются значения типа object. Вот код скрипта
_root.id = new Array();
_root.club = new Array();
_root.people = new Array();
_root.event = new Array();
_root.first_ev = new Array();
_root.his_id = new Array();
clubKor = new XML();
clubKor.load("http://ufa/include/xml/kor.xml");
clubKor.onLoad = function(success) {
if (success) {
rootNode = clubKor.firstChild;
main = rootNode.firstChild;
children = main.childNodes;
c = 0;
bl = children[0].firstChild;
x[c] = children[1].firstChild;
y[c] = children[2].firstChild;
while (main=main.nextSibling) {
c++;
children = main.childNodes;
bl = children[0].firstChild;
x[c] = children[1].firstChild;
y[c] = children[2].firstChild;
}
}
};
myXML = new XML();
myXML.load("http://ufa/include/xml/dump.xml");
System.useCodepage = true;
myXml.ignoreWhite = true;
clubKor.ignoreWhite = true;
myXML.onLoad = function(success) {
if (success) {
rootNode = myXML.firstChild;
clubs = rootNode.firstChild;
children = clubs.childNodes;
c = 0;
_root.id[c] = children[0].firstChild;
_root.club[c] = children[1].firstChild;
_root.event[c] = children[2].firstChild;
_root.people[c] = children[3].firstChild;
_root.first_ev[c] = children[4].firstChild;
_root.his_id[c] = children[5].firstChild;
_root["icon"].duplicateMovieClip("icon"+c, c);
_root["icon"+c]._x = x[c];
_root["icon"+c]._y = y[c];
_root["icon"+c].onRollOver = function() {
this.gotoAndStop(2);
_root.info.din_club = _root.club[this._name.slice(4, 9)];
_root.info.din_event = _root.event[this._name.slice(4, 9)];
_root.info.din_pep = _root.people[this._name.slice(4, 9)];
if (_root.first_ev[this._name.slice(4, 9)] != "null") {
_root.info.ne_mov.din_first = _root.first_ev[this._name.slice(4, 9)];
}
};
_root["icon"+c].onRollOut = function() {
this.gotoAndStop(1);
};
_root["icon"+c].onRelease = function() {
getURL("http://ufa/index.php?club_id="+_root.id[this._name.slice(4, 9)]);
};
while (clubs=clubs.nextSibling) {
c++;
children = clubs.childNodes;
_root.id[c] = children[0].firstChild;
_root.club[c] = children[1].firstChild;
_root.event[c] = children[2].firstChild;
_root.people[c] = children[3].firstChild;
_root.first_ev[c] = children[4].firstChild;
_root.his_id[c] = children[5].firstChild;
_root["icon"].duplicateMovieClip("icon"+c, c);
_root["icon"+c]._x = x[c];
_root["icon"+c]._y = y[c];
_root["icon"+c].onRollOver = function() {
this.gotoAndStop(2);
_root.info.din_club = _root.club[this._name.slice(4, 9)];
_root.info.din_event = _root.event[this._name.slice(4, 9)];
_root.info.din_pep = _root.people[this._name.slice(4, 9)];
if (_root.first_ev[this._name.slice(4, 9)] == "null") {
_root.info.ne_mov.din_first = _root.first_ev[this._name.slice(4, 9)];
}
};
_root["icon"+c].onRollOut = function() {
this.gotoAndStop(1);
};
_root["icon"+c].onRelease = function() {
getURL("http://ufa/index.php?club_id="+_root.id[this._name.slice(4, 9)]);
};
}
} else {
trace("Ошибка открытия файла!");
}
};
Вот код XML,в котором координаты:
<?xml version="1.0" encoding="UTF-8"?><main><kor_id><id>15</id><x>230</x><y>91</y></kor_id><kor_id><id>10</id><x>405</x><y>213</y></kor_id><kor_id><id>8</id><x>265</x><y>251</y></kor_id><kor_id><id>14</id><x>275</x><y>175</y></kor_id><kor_id><id>17</id><x>562</x><y>328</y></kor_id></main>
Жду ответов =) Самое главное чтобы работала вот эта строчка
_root["icon"+c]._x = x[c];
_root["icon"+c]._y = y[c];
Где x y массивы, в которые записываются из XML координаты. Заранее спасибо =)