| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Oct 2003
Beiträge: 4
| XML: wie navigiere ich durch die Datei?
Liebe ActionScriptler: ich habe eine simple XML-Datei namens navigation.xml: <NAVIGATION> <MAIN MAINNAME="Big concept">Oink</MAIN> <MAIN MAINNAME="My concept">Blub <SUBMAIN SUBNAME="1.0 Einführung"> </MAIN> <MAIN MAINNAME="Old concept">Blab</MAIN> <MAIN MAINNAME="New concept">Blob</MAIN> </NAVIGATION> Das Problem ist, dass ich nicht vom Knoten MAIN - Blub mit .nextSibling zu MAIN Blab komme. Weil blub eben noch einen Unterknoten (SUBMAIN) hat. Und von SUBMAIN gibt es auch keine Methode auf den nächsten übergeordneten Knoten, eben das nächste MAIN zu kommen? Das ist ein ziemlicher Mist. In MX2004 geht es übrigens auch nicht. D.h. ich kann gar nicht durch das ganze XMLDoc navigieren??? Weiß einer Rat? Danke Hier der Code: XML.prototype.ignoreWhite=true; naviXml_xml=new XML(); naviXML_xml.cacheKiller=new Date().getTime(); naviXml_xml.load("navigation.xml"); trace(naviXML_xml[0].nodevalue); function showNodes (node){ trace(node.nodeName); // + ": " + node.nodeValue); trace("Hat Unterknoten: " + node.hasChildNodes()); if (node.hasChildNodes()==true){ trace("Anzahl Unterknoten = " + node.childNodes.length); for (i=0; i < node.childNodes.length; i++){ trace("aus for: " + node.childNodes[i].nodeName); showNodes(node.childNodes[i]); } //close for //Achtung: Negierung in nächster Zeile muss in Klammer rein: }else if (!node.nextSibling==null){ //aktueller Knoten hat keine Unterknoten mehr showNodes(node.nextSibling); } else{ return; } //close else } //close function naviXml_xml.onLoad=handleLoad; function handleLoad(success){ if (success){ // trace(naviXML_xml.childNodes[0].nodeValue); dwHauptKap = naviXml_xml.childNodes[0].childNodes.length; trace("AnzahlHauptknoten = " + dwHauptKap); trace("load war erfolgreich"); // for (i=0;i<3;i++){ // meinKnoten=naviXml_xml.childNodes[0].childnodes[0]; // trace(meinKnoten.nodeName); // trace(meinKnoten.nextSibling.nodeName); // for (var prop in meinKnoten.attributes){ // trace (meinKnoten.attributes[prop]); // } // meinKnoten=meinKnoten.nextSibling; // trace("meinKnoten.nextSibling = " + meinKnoten.nodeName); // } }else{ trace("load war nicht erfolgreich"); } showNodes(naviXml_xml); }
__________________ amzd |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |