![]() |
|
||||||||||
|
|||||
|
Регистрация: Aug 2009
Сообщений: 6
|
Доброго времени суток!
Как лучше всего перенести данные из XML в масив? я пробывал так: var Art=new Array(); var myXML = new XML(); myXML.ignoreWhite = true; myXML.onLoad = function (success) { if (success) { for (var i = 0; i < this.firstChild.childNodes.length; i++) { _root.Art.push(this.firstChild.childNodes[i].attributes.text); trace(_root.Art[i]); } // end of for } // end if }; myXML.load("data.xml"); _root.Art.push(100); |
|
|||||
|
listener
|
myXML.load("help.xml") запускает загрузку файла, но не ждет, пока файл загрузится. push() выполняется после load(), но потом срабатывает onLoad() и затирает ваш массив.
Последний раз редактировалось alexcon314; 05.08.2009 в 10:54. |
|
|||||
|
Регистрация: Aug 2009
Сообщений: 6
|
Цитата:
Цитата:
Неужели никто не заносит хмл в масивы? Кто знает провереный способ поделитесь куском кода ![]() |
|
|||||
function loadXML(loaded) {
if (loaded) {
xmlNode=this.firstChild
total=xmlNode.childNodes.length
for(i:Number=0;i<total;i++){
link_pic[i] = xmlNode.childNodes[i].childNodes[1].childNodes
name_pic[i] = xmlNode.childNodes[i].childNodes[0].childNodes
url_big[i] = xmlNode.childNodes[i].childNodes[2].childNodes
}
trace(link_pic.join(".."))
} else {
trace("Error loading XML partners.xml");
}// end else if
}// End of the function
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("partners.xml");
<?xml version="1.0" encoding="utf-8"?> <partners> <partner> <name>Ромашка, ООО</name> <url>partners/electro_profi.jpg</url> <banner>http://dek.demo.metric.ru/attachment.aspx?id=419</banner> </partner> <partner> <name>2Ромашка, ООО</name> <url>partners/svetlon.jpg</url> <banner>http://dek.demo.metric.ru/attachment.aspx?id=419</banner> </partner> <partner> <name>Ромашка, ООО</name> <url>partners/RusSvet137.jpg</url> <banner>http://dek.demo.metric.ru/attachment.aspx?id=419</banner> </partner> <partner> <name>Ромашка, ООО</name> <url>partners/electro_profi.jpg</url> <banner>http://dek.demo.metric.ru/attachment.aspx?id=419</banner> </partner> <partner> <name>Ромашка, ООО</name> <url>partners/electro_profi.jpg</url> <banner>http://dek.demo.metric.ru/attachment.aspx?id=419</banner> </partner> </partners> |
|
|||||
|
Регистрация: Aug 2009
Сообщений: 6
|
_SAM_ большое спасибо, этот код работает.
Но остается вопрос. Мне же нужно дальше работать с масивом, и только после того как вся хмл-ка в него загрузится. Если я начну с ним работать в следующих строчках программы после этого кода то масив опять окажется пустым, ведь Цитата:
|
|
|||||
|
После того как прокарсишь ХМЛ, вызываешь нужную функцию
|
|
|||||
|
Регистрация: Aug 2009
Сообщений: 6
|
понял, спасибо.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 03:01. |
|
|
« Предыдущая тема | Следующая тема » |
|
|