Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 03-12-2004, 13:43   #1 (permalink)
// Knäckebrot
 
Benutzerbild von modul47
 
Registriert seit: Mar 2002
Ort: München
Beiträge: 283
Question xml attribut auslesen und restlichen knoten hinzufügen...???

hi leutz,

ich hab folgendes problem.
ich möchte aus einem xml namen und dazugehörige img-pfade auslesen.
da die namen nach alphabet sortiert werden, funktioniert das zugreifen per fortlaufender "id" nicht mehr, da die sortierung die reihenfolge durcheinanderwürfelt.

jetzt dachte ich, das über attribute zu lösen, das problem ist aber, wie rufe ich das attribut auf und weise im die restlichen knoteninhalte, die bildpfade zu?

so sieht mein xml aus:
Code:
<?xml version="1.0" ?>
<root>
<item name="caterpillar">
	<projektname>caterpillar</projektname>
	<datum>2004</datum>
	<messe>bauma</messe>
	<img>images/00000000002.jpg</img>
	<img>images/00000000003.jpg</img>
	<img>images/00000000004.jpg</img>
	<img>images/00000000005.jpg</img>
	<img>images/00000000006.jpg</img>
</item>
<item name="erlus">
	<projektname>erlus</projektname>
	<datum>2004</datum>
	<messe>dach und wand</messe>
	<img>images/00000000051.jpg</img>
	<img>images/00000000052.jpg</img>
	<img>images/00000000053.jpg</img>
</item>
<item name="eon">
	<projektname>eon</projektname>
	<datum>2003</datum>
	<messe>konzerntagung</messe>
	<img>images/00000000047.jpg</img>
	<img>images/00000000048.jpg</img>
	<img>images/00000000049.jpg</img>
</item>
<item name="gore">
	<projektname>gore</projektname>
	<datum>2003</datum>
	<messe>A+A</messe>
	<img>images/00000000032.jpg</img>
	<img>images/00000000033.jpg</img>
	<img>images/00000000034.jpg</img>
	<img>images/00000000035.jpg</img>
	<img>images/00000000036.jpg</img>
</item>
...........
</root>
mit dem greif ich drauf zu (steht auf in ner onRelease function)
ActionScript:
  1. nummer = _root.info_xml_namen[id];
  2.     trace(nummer);
ich bekomm dann den namen, aber unsortiert, im gegensatz zu den namen, die ich ja vorher sortiere.
nochmal genau:
"caterpillar" steht im xml an erster stelle (erstes child...).
durch das alphabetische sortiern kommt es an die 4. stelle (id=3)
die bilder/bildpfade werden aber dem ersten firmennamen "advanced chemistry" (id=0) zugewiesen, der durch das sort an die erste stelle gestellt wird, sie sollen ja aber "caterpillar" zugewiesen werden.
ich bräuchte also was, was den firmennamen "caterpillar" dem attribut "caterpillar" zuweist und bei klick auf "caterpillar" die bilder, die unter attribut "name=caterpillar" stehen, anzeigt.

das script gibt mir die attribute richtig aus, also wenn ich z.b. "gore" anhand der fortlaufenden position im xml abfrage bekomm ich "gore" ausgegeben.
wenn ich aber das attribut zu "gore" trace, bekomm ich das was in der xml an der stelle steht, wo gore nun hinsortiert wurde...


jemand nen plan??? die suche hat mir nichts gebracht. und das xml-tut von pape half auch nicht so richtig...


großes danke!

tom
modul47 ist offline   Mit Zitat antworten
Alt 03-12-2004, 14:35   #2 (permalink)
_//\\#//\\_
 
Benutzerbild von warrantmaster
 
Registriert seit: Jan 2003
Beiträge: 7.060
warum legst du nicht alle daten eines items in z.b. array[0] als array ab ?

als beispiel:

array[0]=[name,datum,messe,[bild1,bild2,bild3]]

oder

array[name]=[datum,messe,[bild1,bild2,bild3]]

grz
warrantmaster ist offline   Mit Zitat antworten
Alt 03-12-2004, 14:40   #3 (permalink)
// Knäckebrot
 
Benutzerbild von modul47
 
Registriert seit: Mar 2002
Ort: München
Beiträge: 283
sowas in der art hab ich mir auch vorgestellt, aber ich hab mit .attributes noch nie was gemacht vorher und hab keine ahnung wie ich das abfragen soll oder zuweisen soll...

thx,
tom
modul47 ist offline   Mit Zitat antworten
Alt 03-12-2004, 14:47   #4 (permalink)
_//\\#//\\_
 
Benutzerbild von warrantmaster
 
Registriert seit: Jan 2003
Beiträge: 7.060
dazu benötigst du auch keine attribute.
warrantmaster ist offline   Mit Zitat antworten
Alt 03-12-2004, 14:50   #5 (permalink)
// Knäckebrot
 
Benutzerbild von modul47
 
Registriert seit: Mar 2002
Ort: München
Beiträge: 283
ähem, und wie muß ich das dann ansprechen???
hat das dann was mit assoziativen arrays zu tun? (von denen ich irgendwie null ahnung hab)

irgendwie verwirrt,
tom

Geändert von modul47 (03-12-2004 um 15:25 Uhr)
modul47 ist offline   Mit Zitat antworten
Alt 03-12-2004, 15:25   #6 (permalink)
_//\\#//\\_
 
Benutzerbild von warrantmaster
 
Registriert seit: Jan 2003
Beiträge: 7.060
PHP-Code:
var arr=[]
var 
m=new XML()
m.ignoreWhite=true
m
.onLoad=function(ok)
{
    if(
ok)
    {
        var 
l=this.firstChild.childNodes.length
        
for(var i=0;i<l;i++)
        {
            
make_struktur(this.firstChild.childNodes[i],i)    
        }        
    }else{
        
trace("nicht geladen")
    }
}

make_struktur=function(child,count)
{
    
arr[count]=[]
    var 
l=child.childNodes.length
    
var cn=child.childNodes
    arr
[count].push(cn[0].childNodes[0].nodeValue)
    
arr[count].push(cn[1].childNodes[0].nodeValue)
    
arr[count].push(cn[2].childNodes[0].nodeValue)
    
arr[count][3]=[]
    for(var 
i=3;i<l;i++)
    {
        
arr[count][3].push(cn[i].childNodes[0].nodeValue)
    }
    
trace(arr[count][0])//<---name
    
trace(arr[count][1])//<---datum
    
for(var i=0;i<arr[count][3].length;i++)
    {
        
trace(arr[count][3][i])//<---bilder
    
}
    
trace("---------------------------")
}





m.load("test.xml"
warrantmaster ist offline   Mit Zitat antworten
Alt 03-12-2004, 15:53   #7 (permalink)
// Knäckebrot
 
Benutzerbild von modul47
 
Registriert seit: Mar 2002
Ort: München
Beiträge: 283
hm, danke(!!), funktioniert soweit, aber:

ich hab immer nur die möglichkeit über einen index (count) auf die stelle zuzugreifen, müsste das aber irgendwie mit dem namen verknüpfen, der mir beim button bekannt ist, und so könnt ich die zugehörigen bilder laden.

jetzt muß ich z.b. über arr[count][3][i] zugreifen, wobei "count" wieder nur die id des buttons übergeben wird, die ja nicht mehr stimmt, durch das sortieren. oder mach ich was falsch??

der button bekommt automatisch eine fortlaufende dynamische id zugewiesen. 0,1,2,3,...

beim fimenname steht "caterpillar" (sortiert id=3, im xml an 1. stelle), was auf klick nicht die bilder von caterpillar aufruft, sonder die bilder von "gore" welches im xml an 4. stelle steht.
da ich bei deinem script "count" nur mit der id des buttons füttern kann (unter_mc) (jedenfalls weiss ichs nicht anders) kommt also ímmer das verschobe ergebnis raus und nicht das was soll...

*verzweifel*

tom
modul47 ist offline   Mit Zitat antworten
Alt 03-12-2004, 16:51   #8 (permalink)
_//\\#//\\_
 
Benutzerbild von warrantmaster
 
Registriert seit: Jan 2003
Beiträge: 7.060
PHP-Code:
function anzeigen(str)
{
    
    for(var 
count=0;count<arr.length;count++)
    {
        if(
arr[count][0]==str)
        {
            
trace(arr[count][0])//<---name
            
trace(arr[count][1])//<---datum
            
for(var i=0;i<arr[count][3].length;i++)
            {
                
trace(arr[count][3][i])//<---bilder
            
}
            
trace("---------------------------")
        }
    }
}
bt1.onPress=function()
{
    
anzeigen('eon')

...ich geh jetzt kegeln.

grz&prost
warrantmaster ist offline   Mit Zitat antworten
Alt 03-12-2004, 16:57   #9 (permalink)
// Knäckebrot
 
Benutzerbild von modul47
 
Registriert seit: Mar 2002
Ort: München
Beiträge: 283
jo das is es...
jetzt kann ich meinen firmennamen im button an die abfrage übergeben und bekomm die richtigen werte. n bissl basteln noch und ich habs

sehr cool,

danke warrant!
und viel spass beim kegeln!

tom
modul47 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:49 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele