Autor Zpráva
booyas
Profil
Mám problém s načítáním textů z xml.

Mám vytvořený movie clip s jednou vrstvou a ta má jeden snímek.
V této vrstvě mám dynamické textové pole nazvané test.
Dále má tento snímek následující ActionScript:

textData = new XML();
textData.ignoreWhite = true;
textData.load("Data.xml");
textData.onLoad = function() {
node1 = textData.firstChild;
node1Name = node1.nodeName;
if (node1Name == "dataXML") {
nodArray = node1.childNodes;
if (nodArray.length != 0) {
x = 0;
a = 0;
textArray = new Array();
do {
if (nodArray[x].nodeName.indexOf("text") != -1) {
num = nodArray[x].attributes.cislo;
textArray[new Number(num.toString())] = nodArray[x];
}
x++;
} while (x<nodArray.length);
}
}
};

this.test.textObsah.html = true;
if (this._parent.textArray[1] != undefined) {
this.test.htmlText = this._parent.textArray[1];
} else {
this.test.htmlText = " pokus";
}

stop();

Xml soubor s texty mám.

Když sem si to prodebagroval tak je při vyhodnocování podmínky

if (this._parent.textArray[1] != undefined)

this._parent.textArray[1] pokaždé rovno undefined a tím pádem mi nikdy do textového pole nevloží text z XML. Přitom když jsem si to prodebugoval tak to vypadá že se data z XML načtou
Poradí někdo co je špatně?
Boy
Profil
Pomohu ti s tím, ale bude pro mě mnohem snažší, když sem dáš i odkaz na XML soubor, ať vím, co se načítá. Ten tvůj zápis se totiž dá určitě zjednodušit za pomocí cyklu for.
booyas
Profil
Diky moc. Tady je obsah XML


<dataXML>
<text cislo="1">
<p class="nadpis">Uvodni nadpis</p>
<p class="subnadpis">Uvodni text k prvnimu nadpisu</p>
<p class="text1">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Curabitur feugiat dui ut odio. Sed tempor urna. Cras vitae est a pede venenatis mattis. Fusce sed lorem. Curabitur vestibulum lectus et arcu. Sed a lectus ac nisl volutpat luctus. Quisque condimentum, enim at facilisis iaculis, dolor orci feugiat mi, scelerisque hendrerit enim lacus dignissim enim. Fusce elementum, magna quis ultricies dignissim, ligula mauris rutrum urna, eu convallis arcu magna consectetuer leo. Suspendisse accumsan dictum nisl. Suspendisse lacus tellus, laoreet at, lobortis pharetra, rutrum a, leo. Maecenas ante nisl, aliquet at, placerat at, interdum tristique, sapien. Ut a massa. Duis venenatis turpis ut pede. Curabitur viverra.</p>
</text>
<text cislo="2">
<p class="nadpis">Uvodni nadpis2</p>
<p class="subnadpis">Uvodni text k prvnimu nadpisu2</p>
<p class="text1">2Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Curabitur feugiat dui ut odio. Sed tempor urna. Cras vitae est a pede venenatis mattis. Fusce sed lorem. Curabitur vestibulum lectus et arcu. Sed a lectus ac nisl volutpat luctus. Quisque condimentum, enim at facilisis iaculis, dolor orci feugiat mi, scelerisque hendrerit enim lacus dignissim enim. Fusce elementum, magna quis ultricies dignissim, ligula mauris rutrum urna, eu convallis arcu magna consectetuer leo. Suspendisse accumsan dictum nisl. Suspendisse lacus tellus, laoreet at, lobortis pharetra, rutrum a, leo. Maecenas ante nisl, aliquet at, placerat at, interdum tristique, sapien. Ut a massa. Duis venenatis turpis ut pede. Curabitur viverra.</p>
</text>
<text cislo="3">
<p class="nadpis">Uvodni nadpis3</p>
<p class="subnadpis">Uvodni text k prvnimu nadpisu3</p>
<p class="text1">3Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Curabitur feugiat dui ut odio. Sed tempor urna. Cras vitae est a pede venenatis mattis. Fusce sed lorem. Curabitur vestibulum lectus et arcu. Sed a lectus ac nisl volutpat luctus. Quisque condimentum, enim at facilisis iaculis, dolor orci feugiat mi, scelerisque hendrerit enim lacus dignissim enim. Fusce elementum, magna quis ultricies dignissim, ligula mauris rutrum urna, eu convallis arcu magna consectetuer leo. Suspendisse accumsan dictum nisl. Suspendisse lacus tellus, laoreet at, lobortis pharetra, rutrum a, leo. Maecenas ante nisl, aliquet at, placerat at, interdum tristique, sapien. Ut a massa. Duis venenatis turpis ut pede. Curabitur viverra.</p>
</text>
</dataXML>


Kdyby bylo treba tak dej email a ja ti poslu ten muj Flash file at vidis jak presne to mam.
Boy
Profil
Pošli mi to raději úplně všechno, jelikož například ten tvůj xml soubor by šel ještě mnohem zjednodušit. Například:
<p class="nadpis">Uvodni nadpis3</p>

By se dal nahradit tímto:
<nadpis>Uvodni nadpis3</nadpis>

A v css by jsi napsal místo:
.nadpis {}

Toto:
nadpis {} 

To je právě ta krása XML.. můžeš si definovat vlastní značky.
Chamurappi
Profil
Reaguji na Boye:
Ve Flashi se používá CSS? Nebo ten ActionScript používá jen na dotažení dat do HTML? V tom případě bych spíše než po <nadpis> sáhl po <h1> či <h2>. Jinak je to jedno.
Vlastní elementy můžeš úplně stejně používat i v HTML. Explorer ti je tak či onak při MIME typu „text/html“ nedovolí (za běžných podmínek) nastylovat.
Boy
Profil
Chamurappi
Flash od verze MX 2004 už umí nastylovat text podle externího CSS dokumentu, ale zná jen pár css vlastností:
display

font-family
font-size
font-weight
text-decoration
color
text-align
text-indent
text-style
margin-left
margin-right

Nicméně, pokud načítá XML soubor, tak je prakticky jedno, jakou značku pro nadpis použije, jelikož i kdyby chtěl tento soubor zobrazovat v rámci přístupnosti těm, kteří nemají nainstalovaný FlashPlayer, tak XML soubor umí vykreslit i IE nebo ne?
booyas
Profil
Poslal jsem ti na email zdrojaky te flash aplikace i s data.xml
Boy
Profil
Co má ten script vlastně udělat? Jen vypsat XML, nebo něco speciálního?
Toto téma je uzamčeno. Odpověď nelze zaslat.

0