|
SWiSH Forum Forum użytkowników programów SWiSH |
 |
SWiSH Max - Swish + prosty XML
vinyldrug - Pon 04 Kwi, 2011 22:55 Temat postu: Swish + prosty XML witam serdecznie, Chciałbym w prezentacji swf zrobić prostą rzecz z xml.
mianowicie chciałbym do dynamicznego pola tekstowego w prezentacji wczytać ciąg znaków (text) który jest zapisany w pliku xml.
bardzo proszę o pomoc zdaję sobie sprawę, że to pewnie banalne ale ja w xml i actionscript jestem totalnie zielony. z góry dziękuję za pomoc
shastaan - Wto 05 Kwi, 2011 09:26
No ja rozumiem, że zielony i w ogóle ale takiego wstydu sobie narobić na samym początku?
Czytałeś chociaż regulamin? Bo FAQ na pewno nie bo to w FAQ jest opisane
http://swish.wodip.opole....topic.php?t=503
vinyldrug - Wto 05 Kwi, 2011 10:38
aż tak zielony nie jestem wiem jak wczytać txt. Mi natomiast chodzi o XML kolego nie o plik tekstowy
shastaan - Wto 05 Kwi, 2011 15:13
Dokładnie tak samo.
Musisz tylko loadVariables odnieść do pliku xml zamiast txt. :]
vinyldrug - Wto 05 Kwi, 2011 15:24
a czy jest jakiś skrypt który zanim wyświetli treść zaciągniętą z xml spowoduje najpierw jego załadowanie? wiem że są takie komendy w adobe flash ale w swishu inaczej to chyba wygląda... chodzi o to że zdarzało się tak że dane pole textowe wyświetlało się w prezentacji puste ponieważ jeszcze xml nie był w całości załadowany albo zamulił
shastaan - Wto 05 Kwi, 2011 15:30
Nie wydaje mi się by był jakiś odgórny algorytm na to :]
Nie, żebym to sprawdzał, ale w zupełności powinno wystarczyć wczytanie zmiennych z xml kilka klatek wcześniej niż wyświetlenie obiektu "dynamic text", który ma te zmienne wyświetlić.
vinyldrug - Wto 05 Kwi, 2011 15:54
ok stestuje i dam znać o rezultatach
eden - Wto 05 Kwi, 2011 17:04
Coś mi sie wydaje, że chodzi Wam o to.
Kod: | onFrame (1) {
wczytaj();
}
function wczytaj() {
x = new XML();
x.ignoreWhite = true;
x.load("plik.xml");
x.onLoad = function(success) {
if (success) {
mojTekst = _parent.x.firstChild.childNodes[0].childNodes[0].childNodes[0].nodeValue;
_parent.wyswietlTekst(mojTekst);
} else {
// xml nie został wczytany
mojTekst = "Komunikat o błedzie";
_parent.wyswietlTekst(mojTekst);
}
};
}
function wyswietlTekst(Tekst) {
createTextField("mojePole", 2 , 0 , 1 , areaWidth , 1 );
mojePole.autoSize = true;
mojePole.text = Tekst;
} |
Struktura pliku xml o naziw plik.xml
Cytat: | <?xml version="1.0" encoding="utf-8"?>
<database>
<content>
<item>To jest tekst z pliku xml</item>
</content>
</database> |
To najprostrzy przykład jaki można podać.
Januszr - Wto 05 Kwi, 2011 17:45
O xml było tutaj
http://swish.wodip.opole....ighlight=waluty
może przyda się?
vinyldrug - Sro 06 Kwi, 2011 00:01
[quote="eden"]Coś mi sie wydaje, że chodzi Wam o to.
Kod: | onFrame (1) {
wczytaj();
}
function wczytaj() {
x = new XML();
x.ignoreWhite = true;
x.load("plik.xml");
x.onLoad = function(success) {
if (success) {
mojTekst = _parent.x.firstChild.childNodes[0].childNodes[0].childNodes[0].nodeValue;
_parent.wyswietlTekst(mojTekst);
} else {
// xml nie został wczytany
mojTekst = "Komunikat o błedzie";
_parent.wyswietlTekst(mojTekst);
}
};
}
function wyswietlTekst(Tekst) {
createTextField("mojePole", 2 , 0 , 1 , areaWidth , 1 );
mojePole.autoSize = true;
mojePole.text = Tekst;
} |
dokładnie kolego jednak chciałbym aby ten text ładował sie w konkretnym polu textowym dynamicznym
Podpowiedziałbyś mi kolego jak przerobić ten text aby treść wyświetlała się w texcie dynamicznym?
mielu - Sro 06 Kwi, 2011 11:06
o xml jest na forum już dużo, wystarczy poszukać
vinyldrug - Sro 06 Kwi, 2011 13:07
nie znalazłem nigdzie przykładu na forum jakim poleceniem przywołać treść XML do dynamic text
mielu - Sro 06 Kwi, 2011 17:49
Podaj strukturę xml, bo tak to możemy sobie gdybać.
vinyldrug - Czw 07 Kwi, 2011 15:04
Kod: | <info>
<info1>Nadchodzi Nowe</info1>
<info2>W twoimi Mieście</info2>
<info3>Bądź czujny</info3>
</info> |
chciałby aby każde info pojawiało się w 3 innych polach dyniamic text
eden - Czw 07 Kwi, 2011 16:32
Ta struktura xml jest troche bezsensu. W każdym razie.
Kod: | onFrame (1) {
wczytaj();
}
function wczytaj() {
mojeDane = new Array();
x = new XML();
x.ignoreWhite = true;
x.load("plik.xml");
x.onLoad = function(success) {
if (success) {
xml_length = _parent.x.firstChild.childNodes.length;
for(i=0 ; i<xml_length ; i++) {
_parent.mojeDane.push(_parent.x.firstChild.childNodes[i].childNodes[0].nodeValue);
}
_parent.wyswietlTekst();
} else {
// xml nie został wczytany
}
};
}
function wyswietlTekst() {
mojePole1.text = mojeDane[0];
mojePole2.text = mojeDane[1];
mojePole3.text = mojeDane[2];
} |
mielu - Czw 07 Kwi, 2011 17:07
Cytat: | Ta struktura xml jest troche bezsensu.
|
zgadzam się w 100%,
vinyldrug po co xml
vinyldrug - Czw 07 Kwi, 2011 18:03
Dla czego tak Panowie uważają? prosze pisać może nauczę się czegoś nowego
mielu - Czw 07 Kwi, 2011 19:18
Ja uważam, że tak mało rozbudowany xml nie ma sensu. Można to zastąpić po prostu plikiem txt, chyba że xml jest generowany przez jakąś aplikację.
vinyldrug - Czw 07 Kwi, 2011 19:45
no właśnie. docelowo xml będzie generowany przez jeszcze coś innego W każdym bądź razie bardzo dziękuje Wam za pomoc, jestem bardzo wdzięczny pozdrawiam serdecznie
[ Dodano: Czw 07 Kwi, 2011 21:25 ]
mam jeszcze takie pytanie. Ta prezentacja swf będzie ładowana do ducha i mam tu prbolem natury takiej że po załadowaniu do ducha nie wyświetlają mi się te pola dynamic texst. Domyślam się że trzeba gdzies zmienić ścieżki tylko nie bardzo wiem gdzie. Mój duch nazywa się po prostu "duch". Może jakaś podpowiedź?
pozdrawiam
|
|