Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 15-07-2004, 11:12   #1 (permalink)
HiPeople
 
Registriert seit: Apr 2002
Beiträge: 135
xml einlesen

hallo,


ich habe ein xml dokument "namen.xml", mit folgendem inhalt:

<?xml version="1.0" encoding="iso-8859-1"?>

<namen>
<vorname name="jerome"></vorname>
<vorname name="raff"></vorname>
<vorname name="dario"></vorname>
</namen>


diesen will ich mit folgendem ActionScript auslesen:

xml_namen = new XML();
xml_namen.ignoreWhite = treu;
xml_namen.load("namen.xml");

xml_namen.onLoad = function(status)
{
if (status)
{
anzahl = xml_namen.firstChild.childNodes.length;
geladen = true;
}
}


MEINE FRAGE = Warum erhalte ich für die Variable anzahl den Wert 0,
der müßte doch eigentlich 3 sein!



gruß
superheftig ist offline   Mit Zitat antworten
Alt 15-07-2004, 11:20   #2 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Ort: göttingen
Beiträge: 80
xml_namen.ignoreWhite = true; // nicht treu
xml_namen = new XML();
xml_namen.load("namen.xml");

ansonsten hab ich das genauso und es geht..
__________________
kein plan, aber das wird sich jetzt ja ändern

Geändert von huegenbegger (15-07-2004 um 11:21 Uhr) Grund: so is besser
huegenbegger ist offline   Mit Zitat antworten
Alt 15-07-2004, 11:25   #3 (permalink)
hmmmmm...
 
Benutzerbild von kenichi
 
Registriert seit: Feb 2004
Ort: deutschland
Beiträge: 112
hi,

ich weiss jetzt nicht, obs daran liegt, aber versuchs mal so:
PHP-Code:
xml_namen = new XML();
xml_namen.ignoreWhite true;
xml_namen.load("test.xml");

xml_namen.onLoad = function()
{
    
anzahl this.firstChild.childNodes.length;
    
trace(anzahl);

das funktioniert auf jeden fall. habs grade getestet...
vielleicht lags an diesem fehler:
PHP-Code:
xml_namen.ignoreWhite treu
oder vielleicht an deiner variable "status"...

musste mal schaun
__________________
Visit Amakiir.net - WoW Community and more!
kenichi ist offline   Mit Zitat antworten
Alt 15-07-2004, 11:26   #4 (permalink)
HiPeople
 
Registriert seit: Apr 2002
Beiträge: 135
Erhalte jetzt 1

Ich habe das mit treu->true geändert :-)

Aber nun erhalte ich 1 ????
superheftig ist offline   Mit Zitat antworten
Alt 15-07-2004, 11:29   #5 (permalink)
Flashaholic
 
Benutzerbild von atothek
 
Registriert seit: Feb 2003
Ort: Berlin
Beiträge: 1.459
hier mal einige tipps tz xml

Code:
<?xml version="1.0" encoding="UTF-8"?>

<namen>
<name vorname="jerome" nachname="wieauchimmer"/>
<name vorname="raff" nachname="wieauchimmer"/>
<name vorname="dario" nachname="wieauchimmer"/>
</namen>
<name> ist ein "leerer! knoten und deshalb kann man einfach <name /> machen
des weiteren ist es besser den knoten <name> zu nennen und die attribute vorname und nachname ist konsequenter
und immer UTF-8 codieren
dein problem


PHP-Code:
xml_namen = new XML();
xml_namen.ignoreWhite true;

xml_namen.onLoad = function(status){
if (
status){
// this ist der scope von dem xml_names Obj
anzahl this.firstChild.childNodes.length;
geladen true;
}
}
xml_namen.load("namen.xml"); 
__________________
TVNEXT Solutions
atothek ist offline   Mit Zitat antworten
Alt 15-07-2004, 11:30   #6 (permalink)
hmmmmm...
 
Benutzerbild von kenichi
 
Registriert seit: Feb 2004
Ort: deutschland
Beiträge: 112
dann versuchs mal mit:
PHP-Code:
anzahl this.firstChild.childNodes.length
statt mit:
PHP-Code:
anzahl xml_namen.firstChild.childNodes.length
vielleicht gehts dann.

gruss,
kenichi
__________________
Visit Amakiir.net - WoW Community and more!
kenichi ist offline   Mit Zitat antworten
Alt 15-07-2004, 11:37   #7 (permalink)
HiPeople
 
Registriert seit: Apr 2002
Beiträge: 135
UTF-8 ist die Lösung

Ich hab es jetzt in UTF-8 konvertiert und es geht.




DANKE

:-)
superheftig ist offline   Mit Zitat antworten
Alt 15-07-2004, 11:51   #8 (permalink)
HiPeople
 
Registriert seit: Apr 2002
Beiträge: 135
mehrere objekte hab

Was muß ich eigentlich tun wenn mehrere objekte hab:

<?xml version="1.0" encoding="iso-8859-1"?>

<namen>
<vorname name="jerome"></vorname>
<vorname name="raff"></vorname>
<vorname name="dario"></vorname>
<vorname name="dario3"></vorname>
<vorname name="dario8"></vorname>
</namen>
<ort>
<city name="bxl"></city>
<city name="köln"></city>
<city name="malmedy"></city>
<city name="namur"></city>
<city name="bxl"></city>
</ort>


wie kann ich <namen> und <ort> getrennt ansprechen


danke
superheftig ist offline   Mit Zitat antworten
Alt 15-07-2004, 11:56   #9 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
statt firstChild mal mit childNodes[0] bzw. [1] usw versuchen!
ActionScript:
  1. this.childNodes[1].childNodes.length
müsste dann eigentlich die Länge des <ort> childNodes ausgeben
pape ist offline   Mit Zitat antworten
Alt 15-07-2004, 12:01   #10 (permalink)
Flashaholic
 
Benutzerbild von atothek
 
Registriert seit: Feb 2003
Ort: Berlin
Beiträge: 1.459
es ist auch immer ratsam einen rootknoten zu haben

zB.

Code:
<root>
<namen>

<name ... />

</namen>

<orte>
<ort ... />
</orte>
</root>
dann ist
this.firstChild == <root>
this.firstChild.childnodes[i] == [0] <namen> [1] <orte> ...
__________________
TVNEXT Solutions
atothek ist offline   Mit Zitat antworten
Alt 15-07-2004, 12:05   #11 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
das ist nicht nur ratsam, sondern sogar xml-vorgabe.
der oberste knoten muss ein einzelner sein, also, wie ato schon sagte, ein _root-knoten ...
ansonsten wird das xml-doku nicht als vollwertiges xml u.U. erkannt...

greetz

kelor
kelor ist offline   Mit Zitat antworten
Alt 15-07-2004, 13:35   #12 (permalink)
HiPeople
 
Registriert seit: Apr 2002
Beiträge: 135
Kann mir mal bitte jemand ein eindeutiges beispiel geben wie ich diese datei richtig auslese

<?xml version="1.0" encoding="iso-8859-1"?>
<root>
<namen>
<vorname name="JEROME" />
<vorname name="RAFF" />
<vorname name="DARIO" />
<vorname name="DARIO2" />
<vorname name="DARIO655" />
</namen>
<ort>
<city name="bxl" />
<city name="köln" />
<city name="malmedy" />
<city name="namur" />
<city name="bxl" />
</ort>
</root>

ich weiß nich wie ich in die unterobjekte komme

Danke
:-)
superheftig ist offline   Mit Zitat antworten
Alt 15-07-2004, 13:47   #13 (permalink)
Flashaholic
 
Benutzerbild von atothek
 
Registriert seit: Feb 2003
Ort: Berlin
Beiträge: 1.459
PHP-Code:
this.parseXML = function() {
    var 
fc this.xmlData.firstChild;
    for (var 
0i<fc.childNodes.lengthi++) {
        for (var 
0j<fc.childNodes[i].childNodes.lengthj++) {
            var 
cn fc.childNodes[i].childNodes[j];
            for (var 
k in cn.attributes) {
                
trace(cn.attributes[k]);
            }
        }
    }
};
this.xmlData = new XML();
this.xmlData.ignoreWhite true;
var 
_s this;
this.xmlData.onLoad = function(pSuccess) {
    if (
pSuccess == true)_s.parseXML();
    else 
trace("ERROR XMLFile not loaded!");
};
this.xmlData.load("mein.xml"); 
__________________
TVNEXT Solutions
atothek 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:54 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele