mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 19.04.2024 08:26 Benutzername: Passwort: Auto-Login

Thema: [Tutorial] Erstellen und auslesen von XML-Dateien mit Flash vom 29.07.2005


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Multimedia -> [Tutorial] Erstellen und auslesen von XML-Dateien mit Flash
Seite: 1, 2, 3, 4, 5, 6, 7, 8  Weiter
Autor Nachricht
l'Audiophile
Threadersteller

Dabei seit: 16.09.2004
Ort: Berlin
Alter: 43
Geschlecht: Männlich
Verfasst Fr 29.07.2005 22:50
Titel

[Tutorial] Erstellen und auslesen von XML-Dateien mit Flash

Antworten mit Zitat Zum Seitenanfang

Und wieder mal ein Tutorial.

Schreibe gerade an einem kleinen Flash-CMS und habe mir gedacht, wie es wohl wäre, komplett auf mySQL- oder SQL-Datenbanken zu verzichten. Daraufhin habe ich mich entschieden als Datenbanken XML-Dateien zu erstellen. Was jetzt effektiver wäre sei jetzt mal dahin gestellt. Fakt ist; ich kann mySQL (noch) nicht so gut, deshalb hab ich drauf verzichtet. Grins Besonders effektiv ist es daher vor allem für Leute, deren Webspace keine Datenbanken unterstützen.

Das Prinzip ist folgendes.

Ich habe im Backend ein paar Textfelder, welche ich mit Inhalten bestücken kann. Diese Inhalte können natürlich auch HTML-formatiert werden. Beim Absenden dieser Inhalte, formatiert Flash nach Belieben die XML-Datei und sendet die Daten an ein kleines PHP-Script, welches dynamisch in einem gewünschten Ordner auf dem Server eine XML-Datei mit dem gewünschten Inhalten erstellt.
Der Inhalt dieser Datei kann dann per Flash wieder angezeigt werden.

anschauen und testen
Und so gehts:

1. Ihr erstellt drei Eingabefelder in Flash und benennt sie mit den Variablen „vorname“,„ nachname“ und „sonstiges“
2. Ihr erstellt einen Button mit dem Instanznamen „btn_schreiben“

3. Ihr erstellt vier dynamische Textfelder mit den Instanznamen „ausgabe_vorname“, „ausgabe_nachname“, „ausgabe_sonstiges“ und „ausgabe_xml“
4. Ihr erstellt einen Button mit dem Instanznamen „btn_lesen“

5. Jetzt kommt der Actionscript-Teil (AS in das erste Frame der Hauptzeitleiste)
Naürlich wieder schön kommentiert, wie immer. Lächel

Code:

// Der Button zum Übermitteln der Daten an PHP und Schreiben der XML
this.btn_schreiben.onPress = function() {
   //Formatierung der XML-Datei
   xml_formatierung = "<?xml version=1.0 encoding=utf-8 ?>";
   xml_formatierung += "\n";
   xml_formatierung += "<personendaten>";
   xml_formatierung += "\n";
   xml_formatierung += "  <vorname inhalt='"+vorname+"'>";
   xml_formatierung += "\n";
   xml_formatierung += "  </vorname>";
   xml_formatierung += "\n";
   xml_formatierung += "  <nachname inhalt='"+nachname+"'>";
   xml_formatierung += "\n";
   xml_formatierung += "  </nachname>";
   xml_formatierung += "\n";
   xml_formatierung += "  <![CDATA["+sonstiges;
   xml_formatierung += "\n";
   xml_formatierung += "  ]]>";
   xml_formatierung += "\n";
   xml_formatierung += "</personendaten>";
   // Ende der XML-Formatierung
   // neues LoadVars-Objekt zum Übertragen der Daten an die PHP-Datei "parse.php"
   php_parse = new LoadVars();
   // der Name der XML-Datei
   var dateiname = "personendaten";
   // Die Formatierungsvariable wird dem LoadVars-Objekt übertragen
   php_parse.uebergabe = xml_formatierung;
   // diese Variable bezeichnet den relativen Pfad zum Ordner, in dem die XML geladen wird. Wird sie wie jetzt leer gelassen, wird die XML im selben Verzeichnis wie die PHP-Datei erzeugt.
   php_parse.pfadname = "";
   // Hier wird nur der Name der zu generierenden XML-Datei übermittelt.
   php_parse.seitenname = dateiname+".xml";
   // zu guter Letzt werden die Daten an die PHP_Datei gesendet
   php_parse.onLoad = geladen;
   php_parse.sendAndLoad("parse.php", php_parse, "POST");
};
// Button zum Auslesen der XML-Datei
this.btn_lesen.onPress = function() {
   // neues XML-Objekt erzeugen
   texte_xml = new XML();
   // evtl. Leerzeichen ingnorieren
   texte_xml.ignoreWhite = true;
   // Laden der XML_Datei
   texte_xml.load("personendaten.xml");
   texte_xml.onLoad = function(ok) {
      // wenn Datei erfolgreich geladen wurde …
      if (ok) {
         // …wird im Textfeld "ausgabe_xml" die gesamte XML-Datei ausgegeben
         _root.ausgabe_xml.text = this;
         // …wird im Textfeld "ausgabe_vorname" der Inhalt des Attributes "inhalt" im Knoten "vorname" ausgegeben
         _root.ausgabe_vorname.text = texte_xml.firstChild.firstChild.attributes.inhalt;
         // …wird im Textfeld "ausgabe_nachname" der Inhalt des Attributes "inhalt" im Knoten "nachname" ausgegeben
         _root.ausgabe_nachname.text = texte_xml.firstChild.childNodes[1].attributes.inhalt;
         // …wird im Textfeld "ausgabe_sonstiges" der Inhalt des CDATA-Objektes augelesen. Dieser Inhalt kann HTML-Formatiert werden
         _root.ausgabe_sonstiges.text = texte_xml.firstChild.childNodes[2];
         delete texte_xml;
      }
   };
};



6. Der Inhalt der PHP-Datei, die unter „parse.php“ abgespeichert wird

Code:

<?php

if ($uebergabe){
        $uebergabe=stripslashes($uebergabe);
        // die XML-Datei wird geöffnet/bzw. erstellt…
     $fp = fopen($pfadname . $seitenname,"w");
     // mit Inhalten gefüllt …
     fputs ($fp, $uebergabe);
     // und zu guter Letzt wieder geschlossen
     fclose($fp);
     }
echo "das wars auch schon";
?>


Nun ab mit den Sachen auf den Server und Spaß haben.

und nochmal zum Saugen


Klar, ich freu mich immer über Feedbacks und interessiere mich für eure Fragen. Aber bitte hier im Thread, damit andere was davon haben und nicht per PN.
Danke


liebe Grüße

PeJot


Zuletzt bearbeitet von l'Audiophile am Do 29.06.2006 16:24, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
l'Audiophile
Threadersteller

Dabei seit: 16.09.2004
Ort: Berlin
Alter: 43
Geschlecht: Männlich
Verfasst Sa 30.07.2005 20:15
Titel

Bugfix

Antworten mit Zitat Zum Seitenanfang

Kleinen Bug entdeckt:

Die XML hängt manchmal im Browsercache fest. Das Problem wird wie folgt gelöst:

folgende Zeile:

Code:

   // Laden der XML_Datei
   texte_xml.load("personendaten.xml");


ersetzen durch:


Code:

   // Laden der XML_Datei
   texte_xml.load("personendaten.xml?nocache=" + new Date().getTime());



Habs am Online-Beispiel schon behoben.

Viel Spass damit.


Gruß PeJot
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
Nimroy
Community Manager

Dabei seit: 26.05.2004
Ort: zwischen Köln und D'dorf
Alter: 45
Geschlecht: Männlich
Verfasst Sa 30.07.2005 23:34
Titel

Antworten mit Zitat Zum Seitenanfang

Du bist mein Held!
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
zwetschgo
R.I.P.

Dabei seit: 21.02.2002
Ort: Porada Ninfu, Lampukistan
Alter: 49
Geschlecht: Männlich
Verfasst So 31.07.2005 08:17
Titel

Antworten mit Zitat Zum Seitenanfang

Auch wenn ich mich damit abgegeben hab nie Flash oder sonstiges Designzeugs zu beherrschen.Das verdient gehörigen Respekt. *Thumbs up!*
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
roblade

Dabei seit: 27.06.2002
Ort: Düsseldorf/Berlin
Alter: -
Geschlecht: Männlich
Verfasst So 31.07.2005 11:12
Titel

Antworten mit Zitat Zum Seitenanfang

super sache - merci!!!
  View user's profile Private Nachricht senden
l'Audiophile
Threadersteller

Dabei seit: 16.09.2004
Ort: Berlin
Alter: 43
Geschlecht: Männlich
Verfasst So 31.07.2005 14:02
Titel

Antworten mit Zitat Zum Seitenanfang

Hehe, danke *zwinker*
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
eikman

Dabei seit: 27.02.2004
Ort: Essen
Alter: 43
Geschlecht: Männlich
Verfasst So 31.07.2005 14:27
Titel

Antworten mit Zitat Zum Seitenanfang

coole sache, *Thumbs up!*

muss mich mal mehr damit beschäftigen (XML)
  View user's profile Private Nachricht senden
Gargoyle

Dabei seit: 19.05.2005
Ort: -
Alter: 39
Geschlecht: Männlich
Verfasst Do 25.08.2005 23:35
Titel

Antworten mit Zitat Zum Seitenanfang

...hehe... was denkt ihr wäre das geeignet um ein Gästebuch zu erstellen? Schreiben in Xml und wieder auslesen...???
  View user's profile Private Nachricht senden
 
Ähnliche Themen [Tutorial] dyn. Flash-Preloader zum Laden externer Dateien
[Statistik] Auslesen von *.udb-Dateien
auslesen von dateien und schreiben in neue |solved|
eMail-Adressen aus ACCESS-Dateien (.mdb) auslesen
URL aus Flash auslesen
..bilder auslesen..flash..
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2, 3, 4, 5, 6, 7, 8  Weiter
MGi Foren-Übersicht -> Multimedia


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.