<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Jorge Albaladejo &#187; loadvars</title>
	<atom:link href="http://jorgealbaladejo.com/tag/loadvars/feed/" rel="self" type="application/rss+xml" />
	<link>http://jorgealbaladejo.com</link>
	<description>Hard &#38; Soft design...</description>
	<lastBuildDate>Sat, 10 Dec 2011 16:23:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Loading data in Flash from an external XML</title>
		<link>http://jorgealbaladejo.com/2007/05/28/cargar-datos-en-flash-desde-un-xml-externo/</link>
		<comments>http://jorgealbaladejo.com/2007/05/28/cargar-datos-en-flash-desde-un-xml-externo/#comments</comments>
		<pubDate>Mon, 28 May 2007 11:55:55 +0000</pubDate>
		<dc:creator>Jorge Albaladejo</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Web Architecture]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[loadvars]]></category>

		<guid isPermaLink="false">http://labs.abc-webs.net/2007/05/28/cargar-datos-en-flash-desde-un-xml-externo/</guid>
		<description><![CDATA[Notice: Article only available in Spanish! Cuando trabajamos con aplicaciones en flash y queremos que conecten con bases de datos para mostrar catálogos de productos, noticias, etc., la mejor forma de hacerlo es mediante el paso de mensajes en formato XML. Leemos de servicios web correctamente formateados en XML, y después mostraremos los datos según [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p><strong>Notice</strong>: Article only available in <strong>Spanish</strong>!</p></blockquote>
<p>Cuando trabajamos con aplicaciones en flash y queremos que conecten con bases de datos para mostrar catálogos de productos, noticias, etc., la mejor forma de hacerlo es mediante el paso de mensajes en formato XML. Leemos de servicios web correctamente formateados en XML, y después mostraremos los datos según nos convenga en la aplicación flash.</p>
<p>Partimos de un archivo XML correctamente formateado, bien estático y alojado en cualquier carpeta del servidor, bien una url a una <a href="http://jorgealbaladejo.com/?p=20" title="Formateado de datos de una base de datos en xml mediante php">pasarela php que previamente lea los datos de una base de datos</a> y después los muestre en XML. Vamos a necesitar tres cosas: un objeto LoadVars, un objeto XML y conocer la estructura de los nodos XMLpara poderlos recorrer correctamente.</p>
<p><span id="more-21"></span>LoadVars se usará para enviar una petición http a la url de la pasarela, y XML para recoger los datos que devolverá la petición LoadVars. En nuestro caso, partiendo de la estructura XML mencionada en la publicación arriba enlazada, recorreremos cada nodo (childnode), rescatando sus atributos id, name y special_powers.</p>
<p>El código quedará tal que así­:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" rel="external"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p21code2'); return false;">View Code</a> ACTIONSCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p212"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
</pre></td><td class="code" id="p21code2"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">/* script to manage data in flash, retrieved from a XML backend
 * @author Jorge Albaladejo Pomares [correo@jorgealbaladejo.com]
 * @license Creative Commons License http://creativecommons.org/licenses/by-sa/3.0/
 */</span>
&nbsp;
<span style="color: #808080; font-style: italic;">// variables</span>
<span style="color: #0066CC;">loadvars</span> = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">LoadVars</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
readvars = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">XML</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
urlxml = <span style="color: #ff0000;">&quot;http://localhost/test.php&quot;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">// define data matrixes</span>
readvars.<span style="color: #0066CC;">ignoreWhite</span> = <span style="color: #000000; font-weight: bold;">true</span>;
ids = <span style="color: #0066CC;">Array</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #0066CC;">names</span> = <span style="color: #0066CC;">Array</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
special_powers = <span style="color: #0066CC;">Array</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// execute request and stop main movie execution</span>
<span style="color: #0066CC;">loadvars</span>.<span style="color: #0066CC;">sendAndLoad</span><span style="color: #66cc66;">&#40;</span>urlxml, readvars, <span style="color: #ff0000;">&quot;GET&quot;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #0066CC;">_root</span>.<span style="color: #0066CC;">stop</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">//</span>
&nbsp;
<span style="color: #808080; font-style: italic;">//method to be called once data are loaded</span>
readvars.<span style="color: #0066CC;">onLoad</span> = <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span>success<span style="color: #66cc66;">&#41;</span> 
<span style="color: #66cc66;">&#123;</span>
  <span style="color: #0066CC;">trace</span> <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;read correctly&quot;</span><span style="color: #66cc66;">&#41;</span>;
  <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>success<span style="color: #66cc66;">&#41;</span> 
  <span style="color: #66cc66;">&#123;</span>
    long = readvars.<span style="color: #0066CC;">firstChild</span>.<span style="color: #0066CC;">childNodes</span>.<span style="color: #0066CC;">length</span>;
    <span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span>long<span style="color: #66cc66;">&#41;</span>;
&nbsp;
    <span style="color: #808080; font-style: italic;">//Fill array with attributes from each node</span>
    <span style="color: #b1b100;">for</span> <span style="color: #66cc66;">&#40;</span>i=<span style="color: #cc66cc;">0</span>; i<span style="color: #66cc66;">&amp;</span>lt;long; i++<span style="color: #66cc66;">&#41;</span>
    <span style="color: #66cc66;">&#123;</span>
      ids<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span> = readvars.<span style="color: #0066CC;">firstChild</span>.<span style="color: #0066CC;">childNodes</span><span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">attributes</span>.<span style="color: #006600;">id</span>;
      <span style="color: #0066CC;">names</span><span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span> = readvars.<span style="color: #0066CC;">firstChild</span>.<span style="color: #0066CC;">childNodes</span><span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">attributes</span>.<span style="color: #0066CC;">name</span>;
      special_powers<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span> = readvars.<span style="color: #0066CC;">firstChild</span>.<span style="color: #0066CC;">childNodes</span><span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">attributes</span>.<span style="color: #006600;">special_powers</span>;
      <span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span>ids<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span> + <span style="color: #ff0000;">' : '</span> + <span style="color: #0066CC;">names</span><span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span> + <span style="color: #ff0000;">', '</span> + special_powers<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #808080; font-style: italic;">//debug</span>
    <span style="color: #66cc66;">&#125;</span>
  <span style="color: #66cc66;">&#125;</span> 
  <span style="color: #b1b100;">else</span> 
  <span style="color: #66cc66;">&#123;</span>
    <span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Could not load XML with data!&quot;</span><span style="color: #66cc66;">&#41;</span>;
  <span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span>; <span style="color: #808080; font-style: italic;">//onload end of method</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://jorgealbaladejo.com/2007/05/28/cargar-datos-en-flash-desde-un-xml-externo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

