Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 10-03-2005, 14:51   #1 (permalink)
Neuer User
 
Registriert seit: Mar 2002
Beiträge: 8
Question xml node zusammengebaut hinzufügen

Hi, nach etlichen Stunden suchen hoffe ich, dass mir einer von Euch weiterhelfen kann.
Folgendes Problem:
txt1 = _level0.Code.u.createElement("node");
TEST = "firstChild.appendChild("+txt1+")";
_level0.Code.u.TEST

funktioniert leider nicht. Habe auch schon einige Varianten mit eval() probiert. Ich generiere in Flash das XML Objekt. Wie kann ich sonst die appendChild und childNodes kombinationen bauen, dass flash das als Befehl erkennt? Herzlichen Dank für Eure Mühe

Geändert von jopo (10-03-2005 um 16:28 Uhr)
jopo ist offline   Mit Zitat antworten
Alt 10-03-2005, 18:20   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
verstehe nicht so ganz, was du da machen willst.
firstChild.appendChild
sind funktion der xml-classe. du kannst diese funktion als funktion benützen. ein gleichnamiger text aber wird immer nur ein text bleiben.

erkläre mal genauer, was dein eigentliches ziel ist.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 10-03-2005, 18:37   #3 (permalink)
Neuer User
 
Registriert seit: Mar 2002
Beiträge: 8
du hast recht die Erklärung war sehr knapp. Also ich habe geschachtelte mcs:
_level0.#b.#bitem0
_level0.#b.#bitem1
_level0.#b.#bitem0.#bitem0 usw.

Diese Struktur kann vom user abhängig verändert werden.
Aus diesem Baum möchte ich jetzt eine XML-Objekt parsen bzw. Meine Idee war das sich jedes Objekt selbst 'registriert' und habe dazu ein funktion geschrieben, die mir z.B für den ersten mc folgendes ausgibt: firstChild.appendChild aber ich kann das in keinen Befehl einbauen. Gibt es da eine Möglichkeit oder ist meine Herangehensweise grundsätzlich schräg? Wäre dankbar für jeden Hinweis.
jopo ist offline   Mit Zitat antworten
Alt 10-03-2005, 19:35   #4 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
sorry, aber von einer struktur kann ich da nichts erkenne.
vielleicht hilfst das da weiter:
ActionScript:
  1. var vtext="<x><a>aaa</a><b>bbb</b><c>ccc</c></x>";
  2. var vXML=new XML(vtext);
  3. trace(vXML);
  4. // fertig ist ein xml
  5. var vNote=new XML("<d>ddd</d>");
  6. // fertig ist noch ein xml
  7. vXML.firstChild.appendChild(vNote);
  8. trace(vXML);
  9. // und so wird das note an das xml angehängt
  10.  
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 10-03-2005, 19:58   #5 (permalink)
Neuer User
 
Registriert seit: Mar 2002
Beiträge: 8
danke für deine mühe, aber das war leider nicht das Problem. Vielleicht erklärt das besser was ich meine:

_level0.childNodes0
_level0.childNodes0.childNodes0
_level0.childNodes1
_level0.childNodes1.childNodes1
_level0.childNodes1.childNodes1.childNodes0

die frage ist jetzt wie komme ich zu dieser Notation und zwar dynamisch, da die mc natürlich sehr unterschiedlich geschachtelt werden können und die Anzahl auch nicht fessteht.

<item>
<item>
</item>
<item>
<item>
</item>
</item>
<item/>

Oder anders Ausgedrückt, wie bekomme ich ein movieclip 'directory' in ein xml-Objekt. Naja harte Nuss?!
jopo ist offline   Mit Zitat antworten
Alt 11-03-2005, 04:00   #6 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
man muss wissen, was xml ist. dann kann man es erzeugen. deine aufzählungen sind halt kein xml.
dynamisch heisst hier wohl 'unnötige arbeitsbeschaffung': häng drann, schneid weg, häng drann, schneid weg, ...

ermittle die struktur erst dann, wenn du sie benötigst:
ActionScript:
  1. // testaufbau erzeugen
  2. _root.attachMovie('sym', 'a1', 1);
  3. _root.attachMovie('sym', 'b1', 2);
  4. _root.attachMovie('sym', 'c1', 3);
  5. _root.a1.attachMovie('sym', 'a11', 1);
  6. _root.a1.a11.attachMovie('sym', 'a111', 1);
  7. _root.a1.attachMovie('sym', 'a12', 2);
  8. _root.b1.attachMovie('sym', 'b11', 1);
  9. _root.b1.b11.attachMovie('sym', 'b111', 1);
  10. _root.b1.b11.attachMovie('sym', 'b112', 2);
  11. _root.b1.b11.b111.attachMovie('sym', 'b1111', 1);
  12. //
  13. //
  14. // stellt das XML zusammen
  15. function fMC2XML(vObj) {
  16.     for (vName in vObj) {
  17.         if (typeof (vObj[vName]) == 'movieclip') {
  18.             gText += "<mc name='"+vName+"'>";
  19.             fMC2XML(vObj[vName]);
  20.             gText += "</mc>";
  21.         }
  22.     }
  23. }
  24. var gText = "";
  25. fMC2XML(_root);
  26. var gXML = new XML(gText);
  27. //
  28. //
  29. // XML ansehen
  30. trace(gXML);
  31. trace('');
  32. var gNote=gXML.childNodes;
  33. for (vNr in gNote) {
  34.     trace(gNote[vNr]);
  35. }
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (11-03-2005 um 04:01 Uhr)
hgseib 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 14:01 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele