• beyond tellerrand – play. Register Now!
Zurück   Flashforum > Flash und Server > Flash mit XML und Webservices

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 27-11-2005, 22:26   #151 (permalink)
Neuer User
 
Benutzerbild von bruce_wayne
 
Registriert seit: Nov 2005
Beiträge: 130
hey pape, danke für die antwort. ich hab den fehler in meinen script inzwischen selbst ausfindig gemacht: ich war so blöd, die inhalte der einzelnen galerien auf das selbe level zu laden wie die galerie selber - deshalb verschwanden die galerie-einträge, sobald ein eintrag geladen wurde. ähem. aber bitte nicht weiter erzählen
bruce_wayne ist offline   Mit Zitat antworten
Alt 05-12-2005, 14:55   #152 (permalink)
Neuer User
 
Registriert seit: Jul 2005
Beiträge: 19
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fotoalbum SYSTEM "fotoalbum.dtd">
<fotoalbum name="Hochzeit" seiten="2">
<seite nr="1" layout="Hochzeit.jpg" bilder="2">
<bild dateiname="dsc001.jpg" breite="480" hoehe="360" posx="10" posy="10" dateityp="jpg"/>
<bild dateiname="dsc002.jpg" breite="480" hoehe="360" posx="50" posy="380" dateityp="jpg"/>
</seite>
<seite nr="2" layout="Hochzeit1.jpg" bilder="2">
<bild dateiname="dsc003.jpg" breite="360" hoehe="480" posx="10" posy="10" dateityp="jpg"/>
<bild dateiname="dsc004.jpg" breite="360" hoehe="480" posx="380" posy="200" dateityp="jpg"/>
</seite>
</fotoalbum>

Ich muss dieses XML-File laden und dann mit jeder Seite einen MC erstellen. Dieser soll die darin enthaltenen Bilder enthalten.
Irgendwie passiert aber nix! Wär dir dankbar wenn du da mal kurz einen Blick reinwerfen könntest!

stop();

var fotoalbum :XML = new XML();
fotoalbum.onLoad = geladen;
fotoalbum.ignoreWhite = true;
fotoalbum.load("fotoalbum.xml");


var anzahlSeiten :Number = fotoalbum.firstChild.childNodes.length;
var anzahlBilder :Array = [];
var namen :Array = [];
var pos_x :Array = [];
var pos_y :Array = [];
var backg :Array = [];

function geladen(success) :Void {
this.showXML();
if (success) {
this.showXML();
trace ("HALLO");
for (var i :Number = 0; i < anzahlSeiten; i++) {
trace ("for" + i);
anzahlBilder[i] = fotoalbum.firstChild.childNodes[i].childNodes.length;
namen[i] = [];
pos_x[i] = [];
pos_y[i] = [];
backg[i] = fotoalbum.firstChild.childNodes[i].attributes.layout;

for (var j :Number = 0; i < anzahlBilder[i]; j++) {
namen[i][j] = fotoalbum.firstChild.childNodes[i].childNodes[j].attributes.dateiname;
pos_x[i][j] = fotoalbum.firstChild.childNodes[i].childNodes[j].attributes.posx;
pos_y[i][j] = fotoalbum.firstChild.childNodes[i].childNodes[j].attributes.posy;
}
}
}
else {
trace ("Fehler beim laden des XML-Files");
}
}

var mcArray :Array = [];

for (var i :Number = 0; i < anzahlSeiten; i++) {
mcArray[i].createEmptyMovieClip("page" + i, 1);
mcArray[i].loadMovie(backg[i]);
var mcName :MovieClip = null;
var yVar :Number = 0;
var xVar :Number = 0;
trace ("HALLO" + i);
for (var j :Number = 0; j < anzahlBilder; j++) {
trace ("HALLO" + j);
nameP = mcArray[j];
trace (nameP);
var mcName :MovieClip = createEmptyMovieClip(nameP, this.getNextHighestDepth());
mcName.loadMovie(namen[j]);
mcName._x = pos_x[j];
mcName._y = pos_y[j];
}
}

Bin noch ziemlich neu im Flash Programmiern
mtd04043 ist offline   Mit Zitat antworten
Alt 05-12-2005, 16:30   #153 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
Hi!

du versuchst die anzahl der Seiten an der falschen stelle auszulesen... das gehört auch in die Xml.onLoad!!!:

var anzahlSeiten:Number = fotoalbum.firstChild.childNodes.length;

anzahlSeiten ist nämlich in der onLoad funktion undefined.. folglich passiert nix!

zudem deklarierst du nirgendwo die funktion showXml()!...

pape
pape ist offline   Mit Zitat antworten
Alt 16-12-2005, 16:44   #154 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 91
sorry, aber mein winrar sacht das die .zips defekt sind !
kann die mal bitte einer reuppen oder mir per mail senden ?
mfG
breytex@gmail.com
breytex ist offline   Mit Zitat antworten
Alt 17-12-2005, 13:12   #155 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
die dateien wurden im thread wieder hochgeladen!!
bitte erst suchen und dann posten!
[TUTORIAL] laden und verarbeiten von XML Dateien (basics)
pape ist offline   Mit Zitat antworten
Alt 26-12-2005, 20:41   #156 (permalink)
Neuer User
 
Registriert seit: Dec 2001
Ort: Orscholz
Beiträge: 85
Hallo Pape,

tolles Tut, allerdings bleibe ich schon bei einer kleinen Erweiterung stecken
In einem deiner Beispiele gibts du Text, welcher in einem Array gespeichert
worden ist, in dynamischen Textfeldern aus. Soweit so gut, allerdings habe
ich probiert, dass noch ein zeites Array erstellt wird und ausgelesen werden
soll. Doch das will einfach nicht hinhauen, obwohl ich mir auch die anderen
Beispiele angeschaut habe. In einer Antwort hast du geschrieben, dass man
dafür die for-Schleife etwas anpassen muss.
Entweder habe ich es übersehen oder bin zu doof dafür. Wäre cool, wenn du
vielleicht nochmal ein Beispiel einstellen könntest, wo ein zweites Array aus-
gelesen wird, bzw. Tut-Link dazu

Danke
Elli
Elli ist offline   Mit Zitat antworten
Alt 27-12-2005, 01:09   #157 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
Zeig mal her was bei dir nicht klappt.
Bestimmt nix großartiges.

grz
pape
pape ist offline   Mit Zitat antworten
Alt 27-12-2005, 19:58   #158 (permalink)
Neuer User
 
Registriert seit: Dec 2001
Ort: Orscholz
Beiträge: 85
Tja, da is nix mehr zu zeigen, da ich aus Frust die Testdateien wieder gelöscht
habe
Eigentlich müsste ich für den Anfang nur wissen, wie ich aus deiner Beispieldatei
(anwendungs_bsp.fla) mit Hilfe der For-Schleife zwei Arrays befüllen kann, um
diese anschließend auszugeben.
In der XML gäbe es also zwei auszulesende Werte, wobei die Werte aus dem
ersten Array in die erste Spalte kämen und die anderen eben in die zweite.

Später, wenn ich mal diesen Schritt nachvollzogen habe, soll es noch weiter
gehen. Dazu möchte ich in der XML-Datei auch noch für x und y Zahlenwerte
als Koordinaten hinterlegen, die dann Buttons dynamisch auf einer Weltkarte
plazieren mit Link und dazugehörigem Text.
Das Einlesen einer XML ist ja normalerweise nicht so die Schwierigkeit, eher
schon die Weiterverarbeitung für einen Anwendungsfall Na ja, hoffe, dass
ich mit Hilfe des Forums peu a peu weiterkomme. Denn schließlich will ich ja
auch verstehen, was da vor sich geht.

Merci
Elli
Elli ist offline   Mit Zitat antworten
Alt 27-12-2005, 22:08   #159 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
sry, aber ich werde dir nicht die Arbeit abnehmen...
Was genau ist dein Problem? Du sagst nur Array mit Hilfe von xml füllen. Das wird aber oben im Tutorial beschrieben! Wenn es nicht funktionieren sollte, so bringt es auch nichts das Gleiche wie im Tutorial nochmal zu schreiben.
Das Forum leistet Hilfestellung, dient aber nicht dazu sich alles machen zu lassen. (Ich möchte dir das nicht unterstellen, aber das Gegenteil (Aktivität) ist bei dir auch nicht ersichtlich)

Wenn du mir deine Versuche zeigst, bin ich gerne bereit mal drüberzugucken was da nicht funktioniert. Aber du musst schon selbst scripten!

mfG,
pape

Geändert von pape (27-12-2005 um 22:09 Uhr)
pape ist offline   Mit Zitat antworten
Alt 01-01-2006, 17:25   #160 (permalink)
Neuer User
 
Registriert seit: Sep 2005
Beiträge: 18
Hallo, und frohes neues erstmal
Klasse tut, hat mir einiges klargemacht.
Wie man einzelne bereiche ausliest weiss ich jetzt

HTML-Code:
<xml>
  <knoten>
    <kindknoten name="test 1" beschr="testbeschr. 1">
  </knoten>
</xml>
Das kein Problem mehr.
Anders sieht hier aus:

HTML-Code:
<xml>
  <knoten>
    <kindknoten name="test 1" beschr="testbeschr. 1">
  </knoten>
  <knoten>
    <kindknoten name="test aus knoten 2" beschr="testbeschr. 2">
  </knoten>
  <knoten>
    <kindknoten name="test aus knoten 3" beschr="testbeschr. 3">
  </knoten>
  <knoten>
    <kindknoten name="test aus letztem knoten" beschr="testbeschr. 4">
  </knoten>
</xml>
Ich krieg es da nur hin, den ersten knoten auszulesen :/
Mein auslesecode:

Code:
stop();
var XMLdaten:XML = new XML();
XMLdaten.ignoreWhite=true;
XMLdaten.load("xmlfile.xml");
XMLdaten.onLoad = function(success) {
	anzahl = XMLdaten.firstChild.childNodes.length; 
	xml_name = []; //neues array
	xml_besch = []; //neues array
	for (var i=0; i<anzahl; i++) {
		xml_name[i] = XMLdaten.firstChild.childNodes[i].attributes.name;
		xml_besch[i] = XMLdaten.firstChild.childNodes[i].attributes.beschreibung;
		}
	gotoAndStop(2);
}
Hab auch schon versucht mit "XMLdaten.nextSibling;" zu arbeiten.. geht aber auch nicht.
blaggi ist offline   Mit Zitat antworten
Alt 01-01-2006, 17:42   #161 (permalink)
notzucht
 
Benutzerbild von shorty
 
Registriert seit: Nov 2003
Ort: Potsdam
Beiträge: 2.939
hi blagi, wenn du ein element öffnest, solltest du es auch wieder schließen! guck dir deine xml mal im browser an. und schön drauf achten, dass die elementnamen nicht mit xml anfangen

entweder so
HTML-Code:
<?xml version="1.0" encoding="UTF-8"?>
<root>
   <knoten>
      <kindknoten name="test 1" beschr="testbeschr. 1" />
   </knoten>
</root>
oder so
HTML-Code:
<?xml version="1.0" encoding="UTF-8"?>
<root>
   <knoten>
      <kindknoten name="test aus knoten 2" beschr="testbeschr. 2"></kindknoten>
   </knoten>
</root>
die fertige xml könnte demnach so aussehen
HTML-Code:
<?xml version="1.0" encoding="UTF-8"?>
<root>
   <knoten>
      <kindknoten name="test 1" beschr="testbeschr. 1" />
   </knoten>
   <knoten>
      <kindknoten name="test aus knoten 2" beschr="testbeschr. 2"></kindknoten>
   </knoten>
   <knoten>
      <kindknoten name="test aus knoten 3" beschr="testbeschr. 3"></kindknoten>
   </knoten>
   <knoten>
      <kindknoten name="test aus letztem knoten" beschr="testbeschr. 4"></kindknoten>
   </knoten>
</root>
actionscript zum auslesen
PHP-Code:
stop ();
var 
XMLdaten:XML = new XML ();
XMLdaten.ignoreWhite true;
XMLdaten.onLoad = function (success) {
    
anzahl XMLdaten.firstChild.childNodes.length;
    
xml_name = [];
    
//neues array
    
xml_besch = [];
    
//neues array
    
for (var 0anzahli++) {
        
xml_name[i] = XMLdaten.firstChild.childNodes[i].childNodes[0].attributes.name;
        
xml_besch[i] = XMLdaten.firstChild.childNodes[i].childNodes[0].attributes.beschr;
    }
    
gotoAndStop (2);
    
trace ('Namen: ' xml_name);
    
trace ('Beschreibung: ' xml_besch);
};
XMLdaten.load ("xmlfile.xml"); 
im prinzip war alles richtig, bis auf die tiefe des auszulesenden knoten.
__________________
.
Flex in a week | Viertel vor halb nach Vollmond | ^^°.°^^ | Waltz with Bashir
.

Geändert von shorty (01-01-2006 um 17:56 Uhr)
shorty ist offline   Mit Zitat antworten
Alt 01-01-2006, 17:54   #162 (permalink)
Neuer User
 
Registriert seit: Sep 2005
Beiträge: 18
Joa so mach ich das auch eigentlich, nur hier im Post hab ichs schienbar vergessen :X

Also meine XML sieht so aus:

HTML-Code:
<?xml version='1.0' encoding='utf-8'?>
  <news>
    <eintrag poster="Blaggi" datum="1 Januar 2006" text="Aktuellste news" />
    <eintrag poster="Blaggi" datum="31 Dezember 2005" text="Frühere news" />
  </news>
  <inhalt>
    <seite titel="Seite" untertitel="eine Seite" />
    <text>Seiteninhalt<br>über mehrere Zeilen</text>
  </inhalt>
Das soll eine kleine Flashseite werden, die news in einem extra Knoten zur übersichtlichkeit. Die Datei werd ich dann später mit PHP dynamisch machen.

Der untere Knote ist dann aufgeteilt in <seite> und <text>, auch wieder sauberer getrennt.

Und das mächte ich halt gerne auslesen. Komme aber da mit meinen Anfängerfähigkeiten net weiter
:/


EDIT: Oh, hab ich glatt shortys edit verpasst.. ich teste mal und erstatte bericht =)
blaggi ist offline   Mit Zitat antworten
Alt 01-01-2006, 18:01   #163 (permalink)
notzucht
 
Benutzerbild von shorty
 
Registriert seit: Nov 2003
Ort: Potsdam
Beiträge: 2.939
jetzt musst du nur noch darauf achten, dass wenn du innerhalb eines elements (knoten) mehrere elemente auslesen möchtest, entweder eine neue schleife von nöten ist, oder falls die struktur fix ist, darauf zu achten ist, das die pfade zu den unterelementen (kindknoten) richtig gesetzt werden

gruß
__________________
.
Flex in a week | Viertel vor halb nach Vollmond | ^^°.°^^ | Waltz with Bashir
.
shorty ist offline   Mit Zitat antworten
Alt 01-01-2006, 18:08   #164 (permalink)
Neuer User
 
Registriert seit: Sep 2005
Beiträge: 18
OH gott, selbst das krieg ich nicht hin:

PHP-Code:
stop ();
var 
XMLdaten:XML = new XML ();
XMLdaten.ignoreWhite true;
XMLdaten.onLoad = function (success) {
    
anzahl XMLdaten.firstChild.childNodes.length;
//            <datei>  <root>   <knoten>  <kindknoten> <kindknoten vom kindknoten>
    
anzahl2 XMLdaten.firstChild.childNodes.childNodes.childNodes.length
    xml_name 
= [];
    
//neues array
    
xml_besch = [];
    
//neues array
    
xml_name2 = [];
    for (var 
0anzahli++) {
        
//            <datei>     <root>    <knoten>     <kindknoten>   <kind attrbute>
        
xml_name[i] = XMLdaten.firstChild.childNodes[i].childNodes[0].attributes.name;
        
xml_besch[i] = XMLdaten.firstChild.childNodes[i].childNodes[0].attributes.beschr;
        if (
XMLdaten.firstChild.childNodes.childNodes.length 1) {
            for (var 
0anzahl2i++) {
                
xml_name2[x] = XMLdaten.firstChild.childNodes[i].childNodes[x].childNodes.attributes.beschr;
            }
    }
    
gotoAndStop (2);
    
trace ('Namen: ' xml_name);
    
trace ('Beschreibung: ' xml_besch);
};
XMLdaten.load ("xmlfile.xml"); 
Dieses ganze childNodes.childNodes.childNodes.childNodes.attrib utes is mir zu wuselig, da blickt doch keiner durch =(

Geändert von blaggi (01-01-2006 um 18:13 Uhr)
blaggi ist offline   Mit Zitat antworten
Alt 01-01-2006, 18:14   #165 (permalink)
notzucht
 
Benutzerbild von shorty
 
Registriert seit: Nov 2003
Ort: Potsdam
Beiträge: 2.939
Tipp: Bevor Du dich mit den Pfadangaben in der FlashIDE rumschlägst, solltest Du dir Gedanken über eine klare & sinnvole Strukturierung deiner XML - Datei machen. Erst wenn die steht, denkst Du über die Pfade nach.

Wichtig wäre noch Wellformed und / oder Valid! Sowas geht nicht, bzw. entweder mit ENTITYs oder innerhalb eines CDATA bereiches
HTML-Code:
<text>Seiteninhalt<br>über mehrere Zeilen</text>
Guck dir bitte die ersten teile von diesem tut an, dort erklärt pape die grundlegenste dinge sehr gut, und dazu gehört wellformed und oder validität der xml dateien.

Wenns soweit ist, lass es uns wissen und klemm gleich n beispiel deiner XML mit dran

gruß,
shorty
aka. der re-edit editor
__________________
.
Flex in a week | Viertel vor halb nach Vollmond | ^^°.°^^ | Waltz with Bashir
.

Geändert von shorty (01-01-2006 um 18:31 Uhr)
shorty ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 05:03 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele