I've been exploring the option of porting the iTunesExport project to Flex (Air) to provide a cross platform version. The current version is written in .Net and therefore not usable on OS X. As such I needed to parse the PList file using ActionScript. I adopted the Java PList Parser written by Christoffer Lerno for his XMLWise project.
The dynamic nature of ActionScript resulted in a much smaller implementation (although I did skip over 'REAL' and 'DATA' types), and makes it easy to consume.
You can view or download my version here, released under the MIT license.
Here is a snapshot of how it is used:
var parser:PListParser = new PListParser();The last line accesses the Playlist array (dynamically created when the PList is parsed), and filters it using the specified filterPlaylists method, returning a filtered list of the playlists from the original XML file.
var pList:Object = parser.parsePList(xml);
playlists = pList.Playlists.filter(filterPlaylists);
It provides easy structured access to an XML file that would otherwise be difficult to access in a rational manner.