Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 15-04-2004, 15:50   #1 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 36
xml generieren

hallo,

aus einer db-anfrage erhalte ich den ersten level einer hierarchie und füge sie mit hilfe der result-methode in die erste ebene der xml-struktur ein.

für jeden nun angeklickten knoten wird eine neue abfrage gestartet. dabei muss ich aber überprüfen, ob die angegebene node schon einmal abgefragt wurde und in diesem fall die gecachten daten für den nächsten level verwenden.

also muss ich das ganze so lange durchlaufen, bis ich einen knoten mit entsprechendem attribut gefunden habe oder eben nicht. und dann den neuen knoten an der richtigen stelle einfügen.

wie kann das gehen?

mein skript bisher:
ActionScript:
  1. #include "NetServices.as"
  2. #include "NetDebug.as"
  3. xmlObject = new XML();
  4. xmlObject.attributes.marked = "false";
  5. xmlObject.attributes.levelno = "0";
  6. xmlObject.attributes.hasChild = "true";
  7. xmlObject.nodeName = "root";
  8.  
  9. queriedCaptions = new Array();
  10. //::: connect to CF gateway services
  11. NetServices.setDefaultGatewayUrl("http://das_geht_schon");
  12. // connect to the gateway
  13. serverConn = NetServices.createGatewayConnection();
  14. // sets up the service.
  15. service = serverConn.getService("das_geht_auch", this);
  16.  
  17. // Eventlistener für irgendwas
  18. listenerObject = new Object();
  19. listenerObject.keyDown = function(eventObject) {
  20.  
  21.         if (Key.getCode() == 32 ) {
  22.                     xmlObject.appendChild("HALLO");
  23.                     trace(xmlObject);
  24.                     doQuery("");
  25. //        trace(eventObject.target.selectedNode.attributes.label+", "+eventObject.target.selectedNode.attributes.data);
  26.             }
  27. };
  28. tree1.addEventListener("keyDown", listenerObject);
  29.  
  30. // loop over the result_query
  31. function getTree_Result(result) {
  32.     //  trace(result.items[0].ConnectNo);
  33.     for (i=0; i<result.items.length; i++) {
  34.         xmlNode = xmlObject.createElement('caption');
  35.         xmlNode.attributes.marked = 'false';
  36.         xmlNode.attributes.levelno = result.items[i].LevelNo;
  37.         xmlNode.attributes.language = result.items[i].language;
  38.         xmlNode.attributes.hasChild = result.items[i].hasChild;
  39.         xmlNode.attributes.data = result.items[i].no;
  40.         xmlNode.attributes.label = result.items[i].caption;
  41.         appendNode(xmlNode);
  42.     }
  43.     trace("queriedCaptions:\n"+queriedCaptions.sort());
  44. }
  45.  
  46. init();
  47.  
  48. function init(){
  49.     service.getTree(25815);
  50.     queriedCaptions.push(25815);
  51. }
  52.  
  53. function appendNode(xmlNode){
  54.     for (i=0;i<xmlObject.childNodes.length;i++){
  55. //    trace("xmlNode.attributes.data:                  "+xmlNode.attributes.data);
  56.         trace(xmlObject.childNodes[i].attributes.label);
  57. //    trace("xmlObject.parentNode:                     "+xmlObject.nodeName);
  58.         if (xmlNode.attributes.data == xmlObject.childNodes[i].attributes.data){
  59. //      break;
  60.         }
  61.     }   
  62.     xmlObject.appendChild(xmlNode)
  63. //  trace(xmlObject);
  64. }
trakitogo ist offline   Mit Zitat antworten
Alt 16-04-2004, 06:34   #2 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 36
ok, ich formulier die frage mal um...

ich möchte zur laufzeit neue childnodes zu einem existierenen knoten hinzufügen. kriterium für den richtigen parentknoten soll ein attribut-sein, das eine eindeutige id enthält...

service.getTree(0); // ist der root-level des baumes

Geändert von trakitogo (16-04-2004 um 06:36 Uhr)
trakitogo ist offline   Mit Zitat antworten
Alt 16-04-2004, 06:47   #3 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
"..wie kann das gehen?.."
naja, bestimmt nicht von alleine. das wirst du schon programmieren müssen. und an dem code den du bisher getippt hast sehe ich, das du dazu durchaus in der lage bist.

oder willst du uns jetzt erzählen, das du befehle wie
appendChild()
insertBefore()
createTextNode()
cloneNode()
noch nie gesehen hast?

oder verstehe ich dich vollkommen falsch?

p.s.
für xml gibts eine eigene rubrik
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 16-04-2004, 11:14   #4 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 36
dankeschön.
Zitat:
das wirst du schon programmieren müssen
das hilft mir ungemein..

Geändert von trakitogo (16-04-2004 um 12:24 Uhr)
trakitogo 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 13:55 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele