Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 27-10-2008, 12:37   #1 (permalink)
Flash-Fan
 
Benutzerbild von Hoscakal
 
Registriert seit: Jul 2003
Ort: Berlin
Beiträge: 139
XML - Probleme ...

guten Tag,

ich kann von meinem XML datei nicht alles richtig auslesen, habe schon alles versucht, würde mich sehr freuen wenn ihr mir helfen könnt.

hier die AS :

PHP-Code:
 
var maps = new XML();
maps.ignoreWhite true;
maps.load("locations.xml");
maps.onLoad = function(ok) {
    
maps_continents = [];
    
maps_locations = [];
    
locations_info = [];
    
locations_swap = [];
    if (
ok
    {
            for(
i=0maps.firstChild.childNodes[0].childNodes[5].childNodes.lengthi++)
            {
                    
maps_continents[i]  =  maps.firstChild.childNodes[0].childNodes[5].childNodes[i].attributes.name;
                    
                    for(
j=0j<maps.firstChild.childNodes[0].childNodes[5].childNodes[i].childNodes.lengthj++ )
                    {
                            
maps_locations[j]   =  maps.firstChild.childNodes[0].childNodes[5].childNodes[i].childNodes[j].attributes.name
                            locations_maps  
=  _root.attachMovie('location','location_' '_mc',, {_x:i*15_y:j*5})
                    }
                    
                    
                    
trace(maps_locations);                        
            }
            
trace(maps_continents);
     }
}; 
und Mein XML

PHP-Code:
<application>

  <
language code="de">
    
    <
headline><![CDATA[STANDORTE<br />Dh]]></headline>
    <
subline x="300"><![CDATA[&nbsp;]]></subline>
    <
bullet><![CDATA[&#9632;]]></bullet>
    
<label_mapview><![CDATA[Kartenansicht]]></label_mapview>
    <
label_listview><![CDATA[Listenansicht]]></label_listview>

    <
category title="Global Licencing" headline="ProdhG" width="110">
      
      <
continent name="europe" label="Europa">

        <
location name="Berlin" x="282" y="270"></location>  
    
        <
location name="Wuppertal" x="255" y="275"  url="http://wwwh.shtml">
          <
info title="Homepage"><![CDATA[<br />http://www.hshtml<br />]]></info>
        
</location>   

        <
location name="Bitterfeld" x="282" y="285" url="http://www.hcfm?PAGE_ID=69">
          <
info title="Homepage"><![CDATA[<br />http://www.h<br />]]></info>
          
</location>
          
      </
continent>


      <
continent name="africa" label="Afrika">

        <
location name="Casablanca" x="225" y="155"></location>

      </
continent>


      <
continent name="northamerica" label="Nordamerika">

        <
location name="Seattle" x="180" y="280"></location>

    <
location name="Berkeley" x="185" y="314"></location>
        
       <
location name="Emeryville" x="178" y="320"></location>        

    
    <
location name="Shawnee" x="245" y="334"  url="http://wwwhes.com/">
        <
info title="Homepage"><![CDATA[<br />http://www.bh.com/<br />]]></info>
    
</location>
     </
continent>



    <
continent name="southamerica" label="Südamerika">

        <
location name="La Trinidad" x="183" y="145"> </location>

   </
continent>




    <
continent name="asia" label="Asien">

        <
location name="Istanbul" x="210" y="300"></location>

        <
location name="Lahore"   x="305" y="320"></location>        
     </
continent>

    </
category>

</
application
Problem ist, das ich nur die daten von letzten Contient habe !

Danke !
Hoscakal ist offline   Mit Zitat antworten
Alt 28-10-2008, 06:59   #2 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.140
Als generelle Arbeitsweise würde ich dir mal nahelegen, dich nicht so durch die XML Struktur durchzupunkten. Das ist definitiv nicht gut lesbar und erschwert die Fehlersuche nur unnötig.
Omega Psi ist offline   Mit Zitat antworten
Alt 28-10-2008, 08:35   #3 (permalink)
Flash-Fan
 
Benutzerbild von Hoscakal
 
Registriert seit: Jul 2003
Ort: Berlin
Beiträge: 139
danke, Kannst du mir noch sagen, was dein Vorschlag wäre. würde gern wissen, und andeers machen !
Hoscakal ist offline   Mit Zitat antworten
Alt 29-10-2008, 09:13   #4 (permalink)
.
 
Registriert seit: May 2003
Ort: bayern
Beiträge: 1.117
dein problem verstehe ich nicht wirklich, sehe aber fehler in deinen scripts, vielleicht haben die ja was mit deinen problemen zu tun.

in deiner xml-datei fehlt das schließende language-tag

in deiner fla musst du das maps_locations array immer dann neu setzen wenn du es neu befüllat, du überschreibst sons nur bestehende werte.
beispiel:
deine version ergibt:
PHP-Code:
locationBerlin,Wuppertal,Bitterfeld
location
Casablanca,Wuppertal,Bitterfeld
location
Seattle,Berkeley,Emeryville,Shawnee
location
La Trinidad,Berkeley,Emeryville,Shawnee
location
Istanbul,Lahore,Emeryville,Shawnee 

da du maps_locations nicht neu initiierst, wird in der zweiten zeile nur der erste wert überschrieben, die restlichen bleiben bestehen.

in meiner version lautet es:
PHP-Code:
locationBerlin,Wuppertal,Bitterfeld
location
Casablanca
location
Seattle,Berkeley,Emeryville,Shawnee
location
La Trinidad
location
Istanbul,Lahore 
ich denke dann ist schon eher das was du willst.

PHP-Code:
var maps = new XML();
maps.ignoreWhite true;
maps.load("locations.xml");
maps.onLoad = function(ok) {
    
maps_continents = [];
   
// maps_locations = [];
    
locations_info = [];
    
locations_swap = [];
    if (
ok
    {
            for(
i=0maps.firstChild.childNodes[0].childNodes[5].childNodes.lengthi++)
         {
          
maps_locations = [];
    
maps_continents[i]  =  maps.firstChild.childNodes[0].childNodes[5].childNodes[i].attributes.name;
     for(
j=0j<maps.firstChild.childNodes[0].childNodes[5].childNodes[i].childNodes.lengthj++ )
{
maps_locations[j]   =  maps.firstChild.childNodes[0].childNodes[5].childNodes[i].childNodes[j].attributes.name
locations_maps  
=  _root.attachMovie('location','location_' '_mc',, {_x:i*15_y:j*5})
}
trace('location: '+maps_locations);                        
}
trace('continent: '+maps_continents);
}
}; 
__________________
[mooseMash]
mooseMash ist offline   Mit Zitat antworten
Alt 29-10-2008, 12:38   #5 (permalink)
Euer Nuser
 
Benutzerbild von ~pyropete~
 
Registriert seit: Apr 2004
Ort: Sand-City
Beiträge: 3.483
Und hier mal eine verkürzte Schreibweise, ohne lästiges Punkten
Beachte die Variablen treenode und locationsnode, sie dienen hier als
Platzhalter für die Knotenstruktur und machen das Ganze übersichtlicher:

edit:Hommage an OmegaPsi's Worte

ActionScript:
  1. var maps = new XML();
  2. maps.ignoreWhite = true;
  3. maps.load("locations.xml");
  4. maps.onLoad = function(ok) {
  5.     maps_continents = [];
  6.     // maps_locations = [];
  7.     locations_info = [];
  8.     locations_swap = [];
  9.     var treenode:XMLNode = maps.firstChild.childNodes[0].childNodes[5];
  10.     if (ok) {
  11.         for (i=0; i<treenode.childNodes.length; i++) {
  12.             maps_locations = [];
  13.             maps_continents[i] = treenode.childNodes[i].attributes.name;
  14.             var locationsnode:XMLNode = treenode.childNodes[i];
  15.             for (j=0; j<locationsnode.childNodes.length; j++) {
  16.                 maps_locations[j] = locationsnode.childNodes[j].attributes.name;
  17.                 locations_maps = _root.attachMovie('location', 'location_'+i+j+'_mc', j, {_x:i*15, _y:j*5});
  18.             }
  19.             trace('location: '+maps_locations);
  20.         }
  21.         trace('continent: '+maps_continents);
  22.     }
  23. };

Geändert von ~pyropete~ (29-10-2008 um 12:40 Uhr)
~pyropete~ 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:02 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele