PDA

Volledige versie bekijken : XML uitlezen


Ebru
%Europe/Berlin %536 %2009, 13:51
Als nieuwe AS3 gebruiker begin ik langzaam aan het een en ander te begrijpen.
Het is me zelfs al gelukt op data uit een XML te lezen. De gelezen data (met trace) wordt weergegeven als

<naam>Pietje</naam>
<naam>Klaasje</naam>

Mijn vragen zijn nu:

1. Hoe haal je alleen bijvoorbeeld Pietje uit deze lijst
2. Hoe zorg je ervoor dat die <naam> en die </naam> niet wordt weergegeven.


Mijn as is:


var xml:XML;
var MemberList:XMLList;

var loader:URLLoader = new URLLoader();
loader.load(new URLRequest("members.xml"));
loader.addEventListener(Event.COMPLETE, loadXML);

function loadXML(event:Event):void
{
xml = new XML(event.target.data);
MemberList = xml.children();
trace("XML loaded")
LoadMembers();
}


function LoadMembers():void{

//ff kijken hoeveel het er zijn...
trace( MemberList.mem.naam.children().length() );

//zet ze maar neer...
trace(MemberList.mem.naam);
}


de members.xml file is:


<data>
<fields>
<field>
<id>Naam</id>
<desc>Voornaam</desc>
<showinlog>Yes</showinlog>
</field>
<field>
<id>Achternaam</id>
<desc>Achternaam</desc>
<showinlog>Yes</showinlog>
</field>
</fields>
<members>
<mem>
<naam>Pietje</naam>
<achternaam>Klaeschen</achternaam>
</mem>
<mem>
<naam>Klaasje</naam>
<achternaam>Pieteschen</achternaam>
</mem>
</members>
</data>


Zet AS code tussen [as] tags.

marcvz
%Europe/Berlin %561 %2009, 14:27
//zet ze maar neer...
trace(MemberList.mem.naam);


vervangen door


for(var a in MemberList.mem.naam){
trace(MemberList.mem.naam[a]);
}


Zo kom je er wel uit denk hè?

Ebru
%Europe/Berlin %567 %2009, 14:37
Dauntless.... sorry

marcvz, bedankt voor de snelle reactie. Helemaal goed! bedankt.

weet jij misschien ook hoe ik één naam uit de lijst moet/kan halen?

marcvz
%Europe/Berlin %652 %2009, 16:40
Ik had verwacht dat je dat nu zelf wel uit zou vinden.
Als je de 'a' vervangt door 0 of 1, krijg je de eerst of de 2e naam.

Iasonic
%Europe/Berlin %752 %2009, 19:03
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, onLoaded);

loader.load(new URLRequest("http://theflashblog.com/?feed=rss"));

var xml:XML;


function onLoaded(e:Event):void{
xml = new XML(e.target.data);
var il:XMLList = xml.channel.item;
for(var i:uint=0; i < il.length(); i++){
trace(il.description.text()[i]);
trace(il.title.text()[i]);
}
}

Ebru
%Europe/Berlin %476 %2009, 12:25
marcvz en Iasonic bedankt. Ik ben weer een stukje verder.