Здесь я покажу вам, как загрузить XML-данные во Flash. Обратите внимание, что в этом руководстве предполагается, что вы хорошо разбираетесь в xml. Загрузите примеры файлов здесь .
1. Давайте начнем с создания XML-документа. Откройте блокнот и вставьте:
<?xml version="1.0" encoding="iso-8859-1"?> <xmltest> <parentnode> <node1>First node value</node1> <node2>Second node value</node2> <node3>Third node value</node3> <node4>Fourth node value</node4> <node5>Fifth node value</node5> </parentnode> </xmltest>
2. Сохраните файл как flash.xml.
3. Откройте новый фильм во Flash. Я установил свойства фильма в ширину: 370 и высоту: 200.
4. Теперь создайте динамический текст и присвойте ему имя переменной «txt». Обязательно проверяйте html в палитре параметров текста.
5. Щелкните правой кнопкой мыши первый и единственный кадр в фильме и выберите «Действия». Вставка:
XML_var = new XML(); // now load up the url. XML_var.load("http://www.flashcircle.com/swffiles/flash.xml"); // when xml is loaded call functon displayXML XML_var.onLoad = displayXML; // display in txt xml is loading txt = "Loading XML data..."; function displayXML() { mainTag = new XML; elementTag = new XML; articleList = new Array; elementList = new Array; mainTag = this.firstChild.nextSibling; articleList = mainTag.childNodes; txt = ""; //loop through xml for(i=0;i<=articleList.length;i++) {//start for elementList = articleList[i].childNodes; //start for for(j=0;j<=elementList.length;j++) {//start for elementTag = elementList[j]; head = elementTag.firstChild.nodeValue; if(elementTag.nodeName.toLowerCase() == "node1") {txt += head +"";} if(elementTag.nodeName.toLowerCase() == "node2") {txt += head +"";} if(elementTag.nodeName.toLowerCase() == "node3") {txt += head +"";} if(elementTag.nodeName.toLowerCase() == "node4") {txt += head +"";} if(elementTag.nodeName.toLowerCase() == "node5") {txt += head +"";} }//end for }//end for }
Позвольте мне объяснить, как работает каждая строка.
XML_var = new XML()
... объявить XML_var как новый объект xml.XML_var.load("http://www.flashcircle.com/swffiles/flash.xml")
... загрузить файл XML.XML_var.onLoad = displayXML
... если файл загружен, вызовитеdisplayXML()/#epc#/ function.
displayXML()/#epc#/ function.
for(i=0;i<=articleList.length;i++)
... повторить, используя цикл for xml для отображения элементов.