Rita_Ruah Posted August 13, 2013 Share Posted August 13, 2013 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; 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. 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)]; 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? 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! 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. 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. Link to comment https://forums.phpfreaks.com/topic/281127-count-and-register-ocurrences/#findComment-1444864 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.