Rita_Ruah Posted August 13, 2013 Share Posted August 13, 2013 (edited) Hello, I have a programming doubt... I think this can apply to every language, imagine this scenario where I have this xml: <MediaFiles> <MediaFile> <![CDATA[VIDEO]]> </MediaFile> <MediaFile> <![CDATA[VIDEO]]> </MediaFile> <MediaFile> <![CDATA[VIDEO]]> </MediaFile> <MediaFile> <![CDATA[VIDEO]]> </MediaFile> <MediaFile> <![CDATA[VIDEO]]> </MediaFile> </MediaFiles> How can I count the number of occurences of <MediaFile> so I can make a group of every mediafile and do a Random to select one of them? Pseudo-code of what I want: foreach(<mediafile> of <mediafiles>) array[] = mediafile VIDEO; Edited August 13, 2013 by Rita_Ruah Quote Link to comment https://forums.phpfreaks.com/topic/281127-count-and-register-ocurrences/ Share on other sites More sharing options...
AbraCadaver Posted August 13, 2013 Share Posted August 13, 2013 simplexml or DOM. How about real code with specific questions. Quote Link to comment https://forums.phpfreaks.com/topic/281127-count-and-register-ocurrences/#findComment-1444783 Share on other sites More sharing options...
Barand Posted August 13, 2013 Share Posted August 13, 2013 perhaps $str = "<MediaFiles> <MediaFile> <![CDATA[VIDEO1]]> </MediaFile> <MediaFile> <![CDATA[VIDEO2]]> </MediaFile> <MediaFile> <![CDATA[VIDEO3]]> </MediaFile> <MediaFile> <![CDATA[VIDEO4]]> </MediaFile> <MediaFile> <![CDATA[VIDEO5]]> </MediaFile> </MediaFiles>"; $xml = simplexml_load_string($str); foreach ($xml->MediaFile as $video) { $mf[] = trim((string)$video); } echo $mf[array_rand($mf)]; Quote Link to comment https://forums.phpfreaks.com/topic/281127-count-and-register-ocurrences/#findComment-1444789 Share on other sites More sharing options...
Rita_Ruah Posted August 13, 2013 Author Share Posted August 13, 2013 simplexml or DOM. How about real code with specific questions. It's real code... instead of VIDEO there are urls... @Barand Thanks! =) And in Javascript, how would I do this? Quote Link to comment https://forums.phpfreaks.com/topic/281127-count-and-register-ocurrences/#findComment-1444793 Share on other sites More sharing options...
Rita_Ruah Posted August 13, 2013 Author Share Posted August 13, 2013 I have this string in Javascript: <MediaFiles> <MediaFile> <![CDATA[VIDEO]]> </MediaFile> <MediaFile> <![CDATA[VIDEO]]> </MediaFile> <MediaFile> <![CDATA[VIDEO]]> </MediaFile> <MediaFile> <![CDATA[VIDEO]]> </MediaFile> <MediaFile> <![CDATA[VIDEO]]> </MediaFile> </MediaFiles> How can I loop through MediaFile in javascript? It's not a xml, it's a string! Thanks! Quote Link to comment https://forums.phpfreaks.com/topic/281127-count-and-register-ocurrences/#findComment-1444800 Share on other sites More sharing options...
Barand Posted August 13, 2013 Share Posted August 13, 2013 If you want a JS solution don't post in PHP forum. Moving to JS forum. Quote Link to comment https://forums.phpfreaks.com/topic/281127-count-and-register-ocurrences/#findComment-1444817 Share on other sites More sharing options...
Irate Posted August 13, 2013 Share Posted August 13, 2013 JavaScript has its own specification for XML, fittingly called E4X (EMCAScript for XML) which provides everything you need. Check it on Google or on the ECMAScript specification, you'll find loads of helpful tools. Otherwise, standard DOM methods should work... Like, document.getElementsByTagName("MediaFiles"), do a for loop and then get the MediaFile tags. Simple enough, though relying solely on JS for your script to work is risky if you can do it with PHP. Quote Link to comment https://forums.phpfreaks.com/topic/281127-count-and-register-ocurrences/#findComment-1444864 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.