Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 08-11-2005, 21:54   #1 (permalink)
Neuer User
 
Registriert seit: Jun 2003
Beiträge: 7
Blödes XML Anfänger Problem......

Halli hallo zusammen,

ich rufe mit PHP einige Wetterdaten von http://www.webservicex.net ab,
diese werden dann nach xml umgeformt. Das Ergebnis sieht dann wie folgt aus:

<?xml version="1.0" encoding="utf-16"?>
<CurrentWeather>
<Location>Muenster / Osnabrueck, Germany</Location>
<Time>Nov 08, 2005 - 02:20 PM EST / 2005.11.08 1920 UTC</Time>
<Wind> from the ESE (110 degrees) at 6 MPH (5 KT):0</Wind>
<Visibility> greater than 7 mile(s):0</Visibility>
<Temperature> 51 F (11 C)</Temperature>
<DewPoint> 46 F (8 C)</DewPoint>
<RelativeHumidity> 81%</RelativeHumidity>
<Pressure> 30.03 in. Hg (1017 hPa)</Pressure>
<Status>Success</Status>
</CurrentWeather>


Über Actionskipt (noch in meinen Anfängen) versuche ich diese dann in ein Textfeld einzulesen:


myXML = new XML();
myXML.load("getweather.php");
myXML.onLoad = function(verbunden) {
if (verbunden) {
feld.text = myXML.childNodes.nodeValue;
delete myXML;
} else {
feld.text = "Fehler beim Lesen der Wetter Daten";
}
};


Igrendwie begreife ich das mit dem ....childNodes.nodeValue.... nicht ganz. Habe hier schon alle Foren abgesucht, aber nichts gefunden was mich weiter bringt. Wo liegt der Fehler ? Wie kann ich jetzt einzelnen Werte z.b. nur die "Temperature" auslesen und in das Textfeld packen. Ich finde immer nur Beispiele wo "artibute" ausgelesen werden, aber die habe ich in der XML Datei doch nicht, oder ?

Vielen Dank im vorraus,

Snoy
__________________
http://www.dms-arts.com
snoy ist offline   Mit Zitat antworten
Alt 08-11-2005, 22:18   #2 (permalink)
von natur aus sanft
 
Benutzerbild von darwin26
 
Registriert seit: Jan 2002
Ort: Landshut
Beiträge: 1.404
Hi...

1. XML:
PHP-Code:
<?xml version="1.0" encoding="UTF-8"?>
<CurrentWeather>
<Location>Muenster/Osnabrueck,Germany</Location>
<Time>Nov 08, 2005 - 02:20 PM EST / 2005.11.08 1920 UTC</Time>
<Wind> from the ESE (110 degrees) at 6 MPH (5 KT):0</Wind>
<Visibility> greater than 7 mile(s):0</Visibility>
<Temperature> 51 F (11 C)</Temperature>
<DewPoint> 46 F (8 C)</DewPoint>
<RelativeHumidity> 81%</RelativeHumidity>
<Pressure> 30.03 in. Hg (1017 hPa)</Pressure>
<Status>Success</Status>
</CurrentWeather>
2. AS:
PHP-Code:
myXML = new XML();
myXML.ignoreWhite true// Lerraum entfernen
myXML.onLoad = function(lade) { // egal ob lade, status oder sonst was
    
if (lade) {
        var 
meinXML this.firstChild// ersten Knoten in ne var gespeichert
        
for (var 0i<meinXML.childNodes.lengthi++) { // Schleife gebastelt und alle Knoten gezählt
            
trace(meinXML.childNodes[i]); // Alle Knoten mal in der Ausgabe auflisten
            
feld.text meinXML.firstChild.firstChild// Hier wird der Inhalt des 2. Knotens (hier Location) aufgerufen
        
}
    }
};
myXML.load("wetter.xml"); // hab ich schnell mal als XML Datei gespeichtert 
Habs Kommentiert...

grz.chris
__________________
------------------------------------------------
Lieber mal nachfragen als stundenlang doof rumsitzen ;)
Landshuter Hochzeit 1475
------------------------------------------------

Geändert von darwin26 (08-11-2005 um 22:22 Uhr)
darwin26 ist offline   Mit Zitat antworten
Alt 08-11-2005, 22:19   #3 (permalink)
:Void
 
Benutzerbild von janoshnosh
 
Registriert seit: Jun 2005
Ort: börlin
Beiträge: 931
hi,
hier ein link von vorhin: Wurzelknoten eines XML Dokuments ausgeben

ich kann gerade nur ganz kurz, aber:
CurrentWeather ist dein firstChild und hat keinen nodeValue. nodeValue ist das, was zwischen den tags steht, also <weather>warm</weather>.
dein firstChild hat den baum (vergleichbar mit einem array) childNodes, temperature sollte, wenn ich mich jetzt nicht irre also dein_xml.firstChild.childNodes[4].nodeValue sein.

ein bisschen rumprobieren muss immer sein, aber trace() sollte dir ganz gut dabei helfen.

gruß janosch


EDIT:
und LEUTE: onLoad kommt IMMER vor dem LOAD, egal was wir machen!!

Geändert von janoshnosh (08-11-2005 um 22:21 Uhr)
janoshnosh ist offline   Mit Zitat antworten
Alt 08-11-2005, 22:21   #4 (permalink)
von natur aus sanft
 
Benutzerbild von darwin26
 
Registriert seit: Jan 2002
Ort: Landshut
Beiträge: 1.404
hi..
janosh ...

grz.chris
__________________
------------------------------------------------
Lieber mal nachfragen als stundenlang doof rumsitzen ;)
Landshuter Hochzeit 1475
------------------------------------------------
darwin26 ist offline   Mit Zitat antworten
Alt 08-11-2005, 22:40   #5 (permalink)
Neuer User
 
Registriert seit: Jun 2003
Beiträge: 7
Das ging ja schnell...

Erst einmal danke für die schnellen Antworten !!!

Werde morgen versuchen es umzusetzen...melde mich dann noch einmal.

Gruß,
Snoy
__________________
http://www.dms-arts.com
snoy ist offline   Mit Zitat antworten
Alt 09-11-2005, 15:36   #6 (permalink)
Neuer User
 
Registriert seit: Jun 2003
Beiträge: 7
Code:
Habe jetzt folgende Code eingebaut:

myXML = new XML();
myXML.ignoreWhite = true;
myXML.onLoad = function(lade) {
    if (lade) {
        var meinXML = this.firstChild;
        for (var i = 0; i<meinXML.childNodes.length; i++) {
            trace(meinXML.childNodes[i]);
            feld1.text = meinXML.childNodes[0].childNodes;
        	feld2.text = meinXML.childNodes[1].childNodes;
		}
    }
};
myXML.load("http://..........xml");

Und es funzt, prima !!!!

Nochmals vielen Dank...


Gruß,
Snoy
__________________
http://www.dms-arts.com
snoy 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 21:29 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele