Autor Zpráva
Mufna
Profil
Zdravím Vás. DoubleThink mi už zde něco poradil, nicméně mám problém, jak načíst text+obrázky z XML souboru do Flashe. XML je:

<?xml version="1.0" encoding="utf-8"?> 
<galerie pauza="3" pozadi="0x000000" xpoz="50" ypoz ="50" vyska="125" sirka="100"> 
<obr>
  <file>pic1.jpg</file>
  <label>popisek</label>
</obr> 
<obr>
  <file>pic2.jpg</file>
  <label>popisek</label>
</obr> 
</galerie>

Nebo

<?xml version="1.0" encoding="utf-8"?> 
<galerie pauza="3" pozadi="0x000000" xpoz="50" ypoz ="50" vyska="125" sirka="100"> 
   <obr file="pic1.jpg">popisek</obr> 
   <obr file="pic2.jpg">popisek</obr> 
</galerie>


a skript mám zatím (blbě) takto:

data_xml = new XML();
data_xml.ignoreWhite = true;
data_xml.load("banner_data.xml");
data_xml.onLoad = function() {
node1 = data_xml.firstChild;
node1Name = node1.nodeName;
pauza = node1.attributes.pauza;
// barvaPozadi = node1.attributes.pozadi;
xpoz = new Number(node1.attributes.xpoz);
ypoz = new Number(node1.attributes.ypoz);
vyskaPict = new Number(node1.attributes.vyska);
sirkaPict = new Number(node1.attributes.sirka);
if (node1Name == "galerie") {
nodArray = node1.childNodes;
if (nodArray.length != 0) {
x = 0;
a = 0;
img = new Array();
do {
if (nodArray[x].nodeName.indexOf("obr") != -1) {
img.push(nodArray[x].firstChild);
}
x++;
} while (x<nodArray.length);
}
}
play();
};
stop();

Poradíte mi ? Moc by mi to pomohlo. Předem díky.
embee
Profil
no jestli nekdo vycte neco z tehle zmeti, tak smekam :D
Mufna
Profil
embee

Tak to XML je myslím úplně přehledný, a co se týče to skriptu, tak je to skript někde ze stránek flash.cz -jak vytvořit fotogalerii. Do tohoto skriptu se mi v pohodě načítají fotky, ale ne text. Kromě toho se ty fotky načítají pouze v případě, že XML neobsahuje "podelement" <item> a další. Tzn. pouze tehdy, pokud by XML bylo ve tvaru:

<?xml version="1.0" encoding="utf-8"?> 
<galerie pauza="3" pozadi="0x000000" xpoz="50" ypoz ="50" vyska="125" sirka="100"> 
  <obr>pic1.jpg</obr> 
  <obr>pic2.jpg</obr>
  <obr>pic3.jpg</obr> 
</galerie>


Já bych ale potřeboval vždy jednu fotku a jeden text seskupit dohromady a pak na to aplikovat fotogalerii.

Na začátek by mi alespoň stačilo, kdyby mi někdo poradil, jak do skriptu dostat celý element <item>, který je pod elementem <galerie> tak, aby se jen zobrazila první fotka a první text. Tak řekněme, že ty záležitosti okolo samotné fotogalerie vynechám, takže skript by začínal takto:

data_xml = new XML(); 
data_xml.ignoreWhite = true; 
data_xml.load("banner_data.xml"); 
data_xml.onLoad = function() {


ale dál nevím. Zkus mi prosím nějak poradit. Za každou radu či odkaz díky !
DoubleThink
Profil *
Nastuduj si objekt XMLNode - hlavně jeho vlastnosti. Parsování XML je vcelku triviální záležitost.

xpoz = new Number(node1.attributes.xpoz);
Primitivní datové typy (jako String, Number, Null, int, uint) nepotřebují volat konstruktor.
embee
Profil
ja bych to spis resil pres XMLList nez pres XMLNode, jestli se tedy bavime o AS3 (nejsem si uplne jisty, v AS2 to bylo taky :) a tim padem valil v E4X.

viz adobe live docs:

The XMLNode class represents the legacy XML object that was present in ActionScript 2.0 and that was renamed in ActionScript 3.0. In ActionScript 3.0, consider using the new top-level XML class and related classes instead, which support E4X (ECMAScript for XML). The XMLNode class is present for backward compatibility.
DoubleThink
Profil *
jestli se tedy bavime o AS3
Nebavíme.

XMLList (...) (nejsem si uplne jisty, v AS2 to bylo taky :)
Nebylo.

a tim padem valil v E4X.
Pochopitelně, v AS3 není důvod nevyužít nativní podporu objektového modelu XML, ale i postaru jde jen o jednoduché vypsání dětí cyklem.
embee
Profil
DoubleThink
„XMLList (...) (nejsem si uplne jisty, v AS2 to bylo taky :)“

myslel jsem XMLNode, ne XMLList, blbe jsem se vyjadril.... ja prave zacal resit XMLko az v AS3, tak jsem si nebyl jistej co to je.
Mufna
Profil
DoubleThink

Nastuduj si objekt XMLNode - hlavně jeho vlastnosti. Parsování XML je vcelku triviální záležitost.

No, jak pro koho :-( Už se v tom vrtám několik hodin, ale moc mi to nejde. Můžeš mi alespoň trochu poradit, jak z XML dokumentu vytáhnout zvlášť elementy <image> a <caption> ? (Omlouvám se, trochu jsem si to přejmenoval, abych byl zajímavej :-) Za radu díky. XML mám takto:

<?xml version="1.0" encoding="utf-8"?> 
<galery pauza="3" bckgr="0x000000" xpoz="135" ypoz ="3" width="90" height="70">
    <pic>
	<image>dolniroven03.jpg</image>
	<caption><![CDATA[ RD Horka Chrast ]]></caption>
    </pic>

    <pic>
	<image>chvojenec01.jpg</image>
	<caption><![CDATA[ RD Chrudim ]]></caption>
    </pic>
    <pic>
	<image>marsovice01.jpg</image>
	<caption><![CDATA[ Byt Polabiny ]]></caption>
    </pic>
    <pic>
	<image>mostiste10.jpg</image>
	<caption><![CDATA[ Byt Chrudim ]]></caption>
    </pic>
</galery>


EDIT: Á, tak myslím, že radši bych vytáhnul element <pic>

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: