Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 25-02-2005, 10:04   #1 (permalink)
°
 
Benutzerbild von echo5-7
 
Registriert seit: Aug 2002
Ort: Baden-Baden
Beiträge: 3.962
[xml] element knoten statt textknoten angezeigt

hi,
ich hab ein problem mit dem nodeValue eines knotens. und zwar habe ich dieses einfache xml doc:

<firstchild>
<node>mein neuer text</node>
<node>noch ein text</node>
</firstchild>

jetzt versuche ich den nodeValue auszulesen und zwar so:

asdf = new XML();
asdf.ignoreWhite = true;
asdf.onLoad = function() {
trace(this.firstChild.childNodes[1].nodeValue);
};
asdf.load("test.xml");

er gibt mir als nodeValue "null" zurück. wenn ich aber den nodeType trace, bekomme ich 3, also ein TextNode.

kann mir jemand erklären, wie ich an den inhalt dieser knoten komme?
bin langsam echt am verzweifeln, weil ichs mal wieder net raff...

gruß echo
__________________

LRRM | BLOG | FACEBOOK | TWITTER | G+
echo5-7 ist offline   Mit Zitat antworten
Alt 25-02-2005, 10:29   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Du musst noch eine Knotenstufe weiter rein:
ActionScript:
  1. asdf = new XML();
  2. asdf.ignoreWhite = true;
  3. asdf.onLoad = function() {
  4.    trace(this.firstChild.childNodes[1].firstChild.nodeValue);
  5. };
  6. asdf.load("test.xml");

BTW: für XML gibt es hier ein eigenes Board...
  Mit Zitat antworten
Alt 26-02-2005, 12:08   #3 (permalink)
°
 
Benutzerbild von echo5-7
 
Registriert seit: Aug 2002
Ort: Baden-Baden
Beiträge: 3.962
warte mal, der rechnet den text im knoten als eigenen knoten an???
warum das denn?
__________________

LRRM | BLOG | FACEBOOK | TWITTER | G+
echo5-7 ist offline   Mit Zitat antworten
Alt 07-03-2005, 23:41   #4 (permalink)
Neuer User
 
Registriert seit: Mar 2005
Beiträge: 28
Question Same Problem here!

Hallo erstmal!

Danke für euer Forum, hat mir schon einige Nervenzusammenbrüche erspart! Aber nun zu diesem Thema:

Ich habe das selbe Problem wie echo5-7.

Folgende XML-File (test.xml) sei gegeben:
PHP-Code:
<?xml version='1.0' encoding='utf-8'?>
<daten>
    <name>peter</name>
    <name>paul</name>
</daten>
Dann das dazugehörige AS:
PHP-Code:
stop();
var 
XMLdaten = new XML();
XMLdaten.ignoreWhite true;
XMLdaten.load("test.xml");
XMLdaten.onLoad = function(success) {
    for (
i=0i<XMLdaten.firstChild.childNodes.lengthi++) {
        
trace(XMLdaten.firstChild.childNodes[i].nodeName);
        
trace(XMLDaten.firstChild.childNodes[i].firstChild.nodeValue);
    }
}; 
Und in der Ausgabe:
--------------
name
undefined
name
undefined
--------------

Also: Ich hab mich in der Flash Help mal schlau gemacht:
Zitat:
XML.nodeValue
Availability
Flash Player 5.

Usage
my_xml.nodeValue

Description
Property; the node value of the XML object. If the XML object is a text node, the nodeType is 3, and the nodeValue is the text of the node. If the XML object is an XML element (node type is 1), it has a null nodeValue and is read-only.

See also
XML.nodeType
und wenn ich also das nodeType für meinen Knoten eingebe, erhalte ich den Wert 1 zurück, also es ist ein Element und kein Text node... Wie kann ich das ändern? Muss ich irgendwie anders darauf zugreifen? *confused*

THX schonmal!
Estrobyn ist offline   Mit Zitat antworten
Alt 08-03-2005, 08:13   #5 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Ich würde ja eher Attribute verwenden... Ich habe schon Vergleichstests gesehen, in denen gezeigt wurde, dass Attribute viel schneller eingelesen und verarbeitet werden als nodevalues.
  Mit Zitat antworten
Alt 08-03-2005, 08:36   #6 (permalink)
a.k.a maddin79
 
Benutzerbild von madflanderz
 
Registriert seit: Jul 2003
Ort: berlin f-hain
Beiträge: 1.693
manchmal hat man nun aber keine wahl über das format der xml weil sie von jemand anderem stammt und genutzt werden muß.

habs bis jeze meist auch immer mit attributen gemacht, weil ich nach paar erfolglosen versuchen so wie ihr auch mit der variante gebrochen hatte.
würde totzdem gerne sehen wies geht fürs nächste mal, hab bloß grad keine zeit!

gruß maddin
__________________
www.madflanderz.de

ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°` _ addicted to bass _ `°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø
madflanderz ist offline   Mit Zitat antworten
Alt 08-03-2005, 12:06   #7 (permalink)
Neuer User
 
Registriert seit: Mar 2005
Beiträge: 28
Uupps...

Hallo nochmal!

@agedoubleju: Ich hab mir auch schon überlegt, ob ich das XML mit Attributen machen soll (denn das geht!). Aber ich finde die XML-Datei einfach übersichtlicher, wenns so gemacht wird (persönliche Meinung)...

Zudem habe ich noch einen Fehler bei meinem eigenen Code entdeckt (das "d" beim zweiten "XMLdaten.firstChild..." war gross geschrieben anstatt klein):
PHP-Code:
 stop();
var 
XMLdaten = new XML();
XMLdaten.ignoreWhite true;
XMLdaten.load("test.xml");
XMLdaten.onLoad = function(success) {
    for (
i=0i<XMLdaten.firstChild.childNodes.lengthi++) {
        
trace(XMLdaten.firstChild.childNodes[i].nodeName);
        
trace(XMLdaten.firstChild.childNodes[i].firstChild.nodeValue);
    }
}; 
Hahahahi! Ich glaube, ich gehöre in die Klapsmühle! Es GEHT!

Schaut euch mal die Ausgabe an:
---------------
name
peter
name
paul
---------------

WIESO? Hehe, schon recht cool, neuer Tag, neues Glück!

Mal schauen, wie lange das hält. Gestern wars na noch
---------------
name
null
name
null
---------------

Greets

Estro
Estrobyn ist offline   Mit Zitat antworten
Alt 08-03-2005, 14:17   #8 (permalink)
Neuer User
 
Benutzerbild von Utopian
 
Registriert seit: May 2003
Beiträge: 1.031
Die Verwendung von Attributen macht auf jeden Fall Sinn so wie agedoubleju es sagt. Vor allem belege ich mit einem Attribut nur halbsoviel Resourcen wie mit einem Child. Für <name> könnte ein Attribut Anrede eingefügt werden: <name anrede="herr">christian</name>.

Nur so als Anregung...

Gruß Christian
Utopian ist offline   Mit Zitat antworten
Alt 01-09-2005, 16:41   #9 (permalink)
GrandmasterFlash
 
Benutzerbild von Duckster
 
Registriert seit: Jul 2001
Ort: Freiburg
Beiträge: 251
man muss den Value aber spätestens dann benutzen, wenn man html Tags verwenden möchte und daher CDATA braucht.
__________________
Gruß,
Manuel
Duckster 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