Статьи

Flash Script — загрузка XML-данных во Flash


Здесь я покажу вам, как загрузить 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 для отображения элементов.