XML per Knopfdruck neu laden

Roli189

Mitglied
Hallo zusammen!

Ich möchte in dem Textfeld in dem ich die XML Datei ausgeben lasse eine neue XML Datei per Knopfdruck laden (ist für eine Homepage).

PHP:
textStil = new TextField.StyleSheet();
textStil.load("style.css");
feld.styleSheet = textStil;

vorstellungText = new XML();
vorstellungText.load("datei.xml");
vorstellungText.ignoreWhite = true;
vorstellungText.onLoad = function(klar) {
	if (klar) {
		feld.text = vorstellungText;
		delete vorstellungText;
	} else {
		feld.text = "Die XML-Datei konnte nicht gefunden werden!";
	}
};
Ich habe ein Arraymenü angepasst und da verstehe ich nicht wie ich das einbinden muss
PHP:
var link = new Array(9);
for (i=1; i<=9; i++) {
	clip.duplicateMovieClip("clip"+(i+0), +i);
	height = _root.clip._height+53;
	_root["clip"+(i+0)]._x = _root.clip._x+height*i;
	_root["clip"+(i+0)]._alpha = 15;
	_root["clip"+(i+0)].names = names[i];
	_root["clip"+i].link = _root["url"+i];
	_root["clip"+i].onPress = function() {
		feld.text = (this.link);
	};
}
äähhm... Das das Arraymenü noch nicht stimmen kann weiss ich aber ich habe einfach keine Ahnung wie ich eine neue XML Datei in das erstellte XML Objekt reinladen kann.

Ich hoffe die angaben sind nicht zu schlecht gemacht...

Grüsse

Roli
 
Hi,

wäre das dann nicht einfach so etwas?:
PHP:
_root["clip"+i].onPress = function() {
    vorstellungText.load("andere_datei.xml"); 
}

Gruß
.
 
Das habe ich eigentlich auch gedacht aber wie gesagt habe ich ein Arraymenu und da weiss ich nicht wie ich den Wechsel der XML Datei eintragen muss

PHP:
var link = new Array("",vorstellungText.load("xmltut.xml"));

Das stimmt ja nicht.

Ich müsste irgendwie die XML Dateien in das Array eintragen aber ich weiss nicht in welcher Form.

Danke

Roli
 
... was genau verstehst Du denn unter einem "Array-Menü"?

Wenn Du Deine Inhalt normalerweise in einem Array stehen hast, und sie dort nur per Knopfdruck in ein Textfeld einträgst - nun aber einen Button dazu bringen willst, eine ganz neue Datei zu laden, wirst Du nicht umher kommen, Dir ein Konzept zu überlegen, das so etwas erlaubt. ;)

Gruß
.
 
Also ich das XML Objekt lädt korrekt da passt alles.
Ich habe jetzt einen Button (clip) per duplicateMovieClip vervielfacht.
Ich möchte einfach das dem XML Objekt (vorstellungText) bei Knopfdruck eine neue XML Datei übergeben wird.

PHP:
var names = new Array(4);
names[1] = "home";
names[2] = "news";
names[3] = "termine";
names[4] = "resultate";

var link = new Array("",url1="",url2="datei.xml",url3="",url4="");

for (i=1; i<=9; i++) {
	clip.duplicateMovieClip("clip"+(i+0), +i);
	height = _root.clip._height+53;
	_root["clip"+(i+0)]._x = _root.clip._x+height*i;
	_root["clip"+(i+0)]._alpha = 15;
	_root["clip"+(i+0)].names = names[i];
	_root["clip"+i].link = _root["url"+i];
	_root["clip"+i].onPress = function() {
		vorstellungText.load(this.link); 
	};
}
_root["clip"+(i+1)]._alpha = 75;
_root["clip"+(i+1)].name = names[i];
_root.clip._visible = false;
stop();

Das Textfeld das diese Dateien ausgeben soll heisst "feld".

Danke.

Roli
 
Der Code sieht eigentlich korrekt aus. Wenn es nicht funktioniert, kann es sich z.B. um ein Pfadproblem handeln. Um das aber zu debugggen müsste ich die Datei vorliegen haben. Vielleicht kannst Du die .fla (und die .xml) mal posten?

Gruß
.
 
Bin zwar momentan in der Arbeit aber ich werde es am Abend dann mal posten.
Wäre echt super wenn du dann einen Blick draufwirfst.

Thx

Roli
 
@Datic

So ich habe jetzt mal beides hochgeladen (meine XML Dateien wollte ich nicht hochladen, die sind aber korrekt gemacht).
Wäre echt toll wenn du mal reinschauen könntest.

Vielen Dank im voraus

Roli
 

Anhänge

  • Problem-XML.zip
    5,7 KB · Aufrufe: 13
Hi,

die Lösung ist: Du darfst das XML-Objekt bei onLoad nicht löschen (dann kannst Du es ja auch nicht mehr zum Laden verwenden):
Code:
vorstellungText.onLoad = function(klar) {
	if (klar) {
		feld.text = vorstellungText;
		// delete vorstellungText; <-- hier!
	} else {
		feld.text = "Die XML-Datei konnte nicht gefunden werden!";
	}
}

Gruß
.
 
Zurück