Volledige versie bekijken : Vraagje over XML.
-Rutger-
%Europe/Berlin %911 %2007, 22:52
Omdat XML toch steeds meer word gebruikt in flash wil ik het ook leren, nu heb ik allemaal tuts. verzameld, maar ik weet niet hoe ik een dynamic textfield bijvoorbeld genaamd naam, in XML de tekst Rutger kan geven. Kan iemand mij dit uitleggen?
Dauntless
%Europe/Berlin %920 %2007, 23:05
Misschien handig als je de tuts ook volgt, ipv alleen maar verzameld?
<xml>
<name>Dauntless</name>
</xml>
var xml:XML = new XML();
var root:MovieClip = this;
xml.onLoad = function()
{
root.myTextField.text = this.firstChild.firstChild.firstChild.nodeValue;
}
xml.load("xmlFile.xml");
-Rutger-
%Europe/Berlin %922 %2007, 23:08
Ja, ik heb ze vooral bekeken, sommigen gevolgd, maar ik kwam geen dynamic textfields tegen, bedoelde ik zegmaar. Maar bedankt Dauntless, voor de uitgebreide code! :) Nu weet ik dat, en kan ik weer een stuk verder! :D
//EDIT: Ik doe iets fout? Ik krijg telkens undefined... De XML:
<?xml version="1.0" encoding="UTF-8"?>
<xml>
<naam>Rutger</naam>
</xml>
AS:
var xml:XML = new XML();
var root:MovieClip = this;
xml.onLoad = function()
{
root.naam.text = this.firstChild.firstChild.firstChild.nodeValue;
}
xml.load("myxml.xml");
De namen, kloppen alles in dezelfde map.
Dauntless
%Europe/Berlin %927 %2007, 23:15
In elke xml tutorial leer je toch om de data uit te lezen (anders heeft het weinig zin). Nu moet je gewoon de data die je uitleest koppelen aan de .text van je textfield... Dit zou je in principe toch zelf moeten vinden ? (Niet slecht bedoelt).
-Rutger-
%Europe/Berlin %930 %2007, 23:19
In mijn tuts ging het meer over koppelen met andere programma's dan met flash, ze lazen wel data uit, maar niet op jouw manier. Ik ben nog hartstikke nieuw in XML, dus ik kan er ook gewoon heel stom overheen hebben gekeken, maar ik heb echt gezocht... P)
Laiverd
%Europe/Berlin %993 %2007, 00:50
Even voor de duidelijkheid: XML is 'slechts' een manier om data op te slaan (zie bv. http://home.hccnet.nl/john.mulder/sae/xml_basics.pdf). In die zit is het niet anders dan data opslaan in een database of een textfile. Het verschil is dat je voor het ophalen van data uit een database of een textfile de LoadVars class gebruikt, en voor het ophalen van gegevens uit XML de XML class (het zogenaamde 'parsen').
Omdat XML een boomstructuur heeft, heeft de XML class allerlei methods om op een handige manier door een dergelijke boomstructuur heen te gaan en de data eruit te halen. Al deze methodes inclusief voorbeelden staan uitgebreid in de handleiding.
Stap 1: Echt snappen wat XML is
Stap 2: Je gaan verdiepen in de methods van de XML class
Een uitgebreid voorbeeld met commentaar is te vinden op http://home.hccnet.nl/john.mulder/flash/xml_parse_example.zip
John
-Rutger-
%Europe/Berlin %418 %2007, 11:02
Dankjewel Laiverd, dat ga ik eens even fijn doorlezen |)
Laiverd
%Europe/Berlin %425 %2007, 11:12
Okay, succes. De basics zijn uiteindelijk redelijk eenvoudig. En vergeet niet: trace() is je vriend ;)
John
-Rutger-
%Europe/Berlin %651 %2007, 16:37
Ik heb dus de hele tijd 10 uur ofzo XML zitten lezen, maar ik begrijp nogsteeds niet waarom ik geen d-textfield genaamd naam in XML Flashfocus kan noemen! Ik blijf maar undefined krijgen... Ik doe mijn best het te begrijpen, maar het word allemaal zo onuitgebreid uitgelegd in tutorials, ze zeggen niet wat voor instance ik mijn textfield moet geven... Ik heb alle tijd, dus als iemand eventjes wil uitleggen wat niet goed gaat, danku :)
http://www.wistniksbeters.net/temp/xmlflash.htm
http://www.kirupa.com/web/xml/XMLwithFlash2.htm
PS: Ik heb plops en plips gelezen, maar ik snap niet helemaal de oefening...
Dauntless
%Europe/Berlin %659 %2007, 16:49
Laat dan zien wat jij gemaakt hebt ? :)
-Rutger-
%Europe/Berlin %660 %2007, 16:51
Oke, eventjes mijn mapje posten...
Voorderest heb ik tuts gevolgd, maar daar kwam helemaal niks uit.. :|
Dauntless
%Europe/Berlin %664 %2007, 16:57
Je bent
xml.ignoreWhite = true;
vergeten.
-Rutger-
%Europe/Berlin %671 %2007, 17:06
Dankje dauntless! En natuurlijk ook Laiverd, voor Uw files :) Nog een laatste vraag Dauntless: Kan je mij uitleggen waarvoor ignorewhite nodig is?
Dauntless
%Europe/Berlin %684 %2007, 17:25
Zodat hij alle karakters in je .xml file negeert, die niet bij de <xml> zelf hoort.
(Het is een beetje als wanneer je in MS Word 'show hidden characters' aanklikt. Al die tekens (spaties, enters, returns, ...) worden genegeerd).
-Rutger-
%Europe/Berlin %714 %2007, 18:08
Aha, dankjewel! :) Inderdaad ook wel logisch.
mknol
%Europe/Berlin %031 %2007, 01:45
root moet misschien ook _root zijn?
Dauntless
%Europe/Berlin %280 %2007, 07:44
Nee, hij heeft zijn eigen root gedefinieerd (wat een goede gewoonte is).
var xml:XML = new XML();
var root:MovieClip = this;//dit houd alles relatief
xml.onLoad = function()
{
root.naam.text = this.firstChild.firstChild.firstChild.nodeValue;
}
xml.load("myxml.xml");
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.