Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 23-07-2003, 07:58   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2001
Beiträge: 197
XML-Tags auslesen

Hallo,

ich habe ein XML-Dokument in dem u.a. folgende Einträge stehen:

<TransferObject id="item_0">
<Property id="oid">172.16.15.151.1058880822617.1058880893148 .8</Property>
<Property id="productPickupSign" />
<Property id="quantity" viewlevel="304">1</Property>
<Property id="retailPrice" />
<Property id="retailProductTO" />
<Property id="vatSign" viewlevel="304">1</Property>
</TransferObject>
<TransferObject id="item_1">
<Property id="oid">172.16.15.151.1058880822617.1058880924764 .9</Property>
<Property id="productPickupSign" />
<Property id="quantity" viewlevel="304">1</Property>
<Property id="retailPrice" />
<Property id="retailProductTO" />
<Property id="vatSign" viewlevel="304">1</Property>
</TransferObject>
<TransferObject id="item_2">
<Property id="oid">172.16.15.151.1058880822617.1058880945263 .10</Property>
<Property id="productPickupSign" />
<Property id="quantity" viewlevel="304">1</Property>
<Property id="retailPrice" />
<Property id="retailProductTO" />
<Property id="vatSign" viewlevel="304">1</Property>
</TransferObject>


Ich muß für jedes "TransferObject" die "oid" auslesen. Bis jetzt bin ich nur soweit gekommen:

ActionScript:
  1. while(myXML['item_0' + i])
  2. {
  3.        oid = myXML[item_0'+i].childNodes.attributes.id;
  4.        trace(oid);
  5.        I++;
  6. }

Hier bekomme ich aber alle id-Attribute ausgegeben und nicht nur "oid". Logisch!
Jetzt dachte ich mir, wenn die IDs als Array vorliegen, kann ich
ja auch schreiben:

ActionScript:
  1. oid = myXML[item_0'+i].childNodes.attributes.id[0];
oder
ActionScript:
  1. oid = myXML[item_0'+i].childNodes.attributes.id['oid'];

Aber beides führt zu der Ausgabe "Undefined".


Wer kann mir helfen und mir sagen wie ich direkt jede "oid" in
der FOR-Schleife ansprechen kann.


Danke
flashcowboy ist offline   Mit Zitat antworten
Alt 23-07-2003, 08:37   #2 (permalink)
Goldmember
 
Benutzerbild von Mussi
 
Registriert seit: May 2002
Ort: Bochum, Germany
Beiträge: 188
moin,

is jetzt untested, aber probier mal so:
ActionScript:
  1. oid = myXML[item_0'+i].childNodes[0].attributes.id;
__________________
Gruß,

Marcel Fahle
http://marcelfahle.com
http://travelbert.com [now open]

"Schlucke war mein Trainer in der F-Jugend! "
Mussi ist offline   Mit Zitat antworten
Alt 23-07-2003, 08:47   #3 (permalink)
Goldmember
 
Benutzerbild von Mussi
 
Registriert seit: May 2002
Ort: Bochum, Germany
Beiträge: 188
oh, sorry, letzte frage nich gesehen...
hmm, dein xml schnipsel ist ein wenig unvollständig..
ich denk mir da der einfachheit halber mal noch ein tag drumherum
<aussen>
<TransferObject id="item_0">
<Property id="oid">172.16.15.151.1058880822617.1058880893148 .8</Property>
usw...

ist aber wieder untestet:

ActionScript:
  1. for (var i = 0; i > myXML.firstChild.childNodes.length; i++) {
  2.    trace (myXML.firstChild.childNodes[i].childNodes[0].attributes.id);
  3. }

irgendwie so müsste das klappen denke ich
__________________
Gruß,

Marcel Fahle
http://marcelfahle.com
http://travelbert.com [now open]

"Schlucke war mein Trainer in der F-Jugend! "
Mussi ist offline   Mit Zitat antworten
Alt 23-07-2003, 09:21   #4 (permalink)
Neuer User
 
Registriert seit: Sep 2001
Beiträge: 197
Mein Problem ist eigentlich, daß ich die Reihenfolge nicht kenne,
in der die einzelnen IDs im Dokument abgelegt werden. Was
eben unter childNodes[3] zu finden war kann genauso gut dann
unter childNodes[1] auftauchen.
Deshalb wollte ich einen Weg finden, z.B. id="oid" über den Weg
des direkten Ansprechens auszulesen.

Nochmal meine Frage, ist es nicht möglich das "Array" der IDs
in Form von myXML.childnodes.attributes.id[i] auszulesen?
Bei mir funktioniert das nicht. Kriege immer undefined.
flashcowboy ist offline   Mit Zitat antworten
Alt 23-07-2003, 09:41   #5 (permalink)
Goldmember
 
Benutzerbild von Mussi
 
Registriert seit: May 2002
Ort: Bochum, Germany
Beiträge: 188
hmm, du könntest noch ne zweite Schleife einbauen.
z.b. irgendwie so:

ActionScript:
  1. for (var i = 0; i < myXML.firstChild.childNodes.length; i++) {
  2.    for (var b = 0; b < myXML.firstChild.childNodes[i].childNodes.length; b++) {
  3.       if (myXML.firstChild.childNodes[i].childNodes[b].attributes.id == "oid") {
  4.          trace ("TREFFER!!");
  5.       }
  6.    }
  7. }

ist wieder untested, aber könnte so klappen. musste evtl selber mal ein wenig rumbasteln.

zu deiner anderen frage: es ist mir nicht bekannt, das man auf die attribute verschidener nodes wie auf ein array zugreifen kann...
innerhalb einer node geht sowas, aber so wie du das vor hast glaub ich nicht (kann mich aber auch irren)
__________________
Gruß,

Marcel Fahle
http://marcelfahle.com
http://travelbert.com [now open]

"Schlucke war mein Trainer in der F-Jugend! "
Mussi 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:06 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele