iTunes Playlists to Xml
Download the current version of iTunes Playlists to Xml now, or continue reading to find out more.
While it's possible to export data from iTunes to Xml, it's only possible to export your main library. Additionally, the schema used for the Xml data is rather unhelpful.
(You can see this by selecting a playlist in your Library and selecting File > Library > Export playlist... and saving as either .txt or .xml.)
iTunes Playlists to Xml makes it easy to export select data from iTunes to an easy to parse Xml file.
iTunes Playlists to Xml can export the song listing for any playlist on your computer or iPod with just a few clicks.
- Select the source you want to export songs from.
- Select what data you want to export. Album, artist, track name, played count, and rating are selected by default, but any number of fields can be easily selected (or via the menu, all available fields).
- Select the playlist to export. Normal as well as smart playlists are supported, as is the main Music library.
- Copy the Xml from the output field, or save the information to a file using the menu.
iTunes Playlists to Xml was built for getting the most track information out of iTunes into an easy-to-use Xml file. To this end, it has the following features:
- Easy to use. Connect to iTunes, select the playlist and fields you want to export, and you're ready to go.
- Smaller Xml size. Exporting a 6800+ song library results in a 10 MB Xml file from iTunes 9.0.1. Compare that to the 2.6 MB file that iTunes Playlists to Xml creates.
- Cleaner Xml. The iTunes Xml export is a mess. With tracks being made up of key elements followed by a format-based element, it’s difficult to create effective Xml queries to get at this data. With iTunes Playlists to Xml the Xml structure has been created with parsing in mind. Elements consist of names appropriate to the data they store, with an object-orientated perspective. Good luck trying to create a pretty output from the iTunes export.
- Low overhead. Working with a 6700+ track library, iTunes Playlists to Xml requires less than 60 MB of RAM, typically using approximately 40 MB.
- No installation required. iTunes Playlists to Xml can be unzipped and run from any location.
- Low requirements. iTunes Playlists to Xml doesn’t require much more than you already have. View the requirements.
- Built for users, by a user. iTunes Playlists to Xml is built for my own personal use. But since I know I’m not the only one with this need, I've made the application available to everyone.
- Active development. iTunes Playlists to Xml is actively under development. Think I should add a new feature? Let me know what it is (strivinglife [at] gmail.com) and it might get included in the next release.
- Free! iTunes Playlists to Xml is provided at no cost. Of course, I’m certainly not against getting gifted music from iTunes :)
- Advanced Features
iTunes Playlists to Xml has the following requirements:
- iTunes. iTunes Playlists to Xml has been developed for, and tested against, the 8.x, 9.x, and 10.x versions of iTunes. Download the current version of iTunes.
- .NET Framework. iTunes Playlists to Xml is built on the .NET Framework version 3.5. While most newer computers come with .NET Framework 3.5, you can determine if you are up-to-date by visiting Smallest .NET.
- Windows. iTunes Playlists to Xml has been tested on Windows XP and Windows 7. This application does not need to be run as Administrator on Windows Vista/7.
The current version of iTunes Playlists to Xml is version 1.6. Download the current version of iTunes Playlists to Xml.
iTunes Playlists to Xml also comes with transformations, that allow the Xml output to be a little nicer for the average viewer. These are available as part of the download, as well as below:
- iTunesPlaylists2Xml.xslt A listing of songs sorted by the number of times the song was played. View a sample.
- AlbumName.xslt Listing of songs sorted by album, track, and disc. View a sample.
- NameArtistAlbumPlay.xslt Listing of songs sorted by song title, artist, album, and number of plays. View a sample.
Additional transformations, not part of the download, are listed below.
- Artists-Album-Genre.xslt A listing of artists, albums, and genres. This was actually a little tricky for me at first. Thanks to Pierre for the idea.
The Xml Schema is also available for download, and includes more information about the formatting of Xml documents. View/download the Xml Schema.
If you've created a transformation that you'd like to share, please email strivinglife [at] gmail.com.
To install iTunes Playlists to Xml you simply need to extract the contents of the downloaded zip file to a directory.
While Windows includes functionality to extract zip files, 7-Zip is an available alternative.
As of version 1.5.1, iTunes Playlists to Xml supports passing arguments via the command line. The following commands are supported:
- Will automatically connect to iTunes when the program starts.
- -source:x or -source:"x"
- Will automatically attempt to select the source with a name of x after connecting to iTunes.
- -playlist:x or -playlist:"x"
- Will automatically attempt to select the playlist with a name of x after connecting to iTunes.
- -source is required if using -playlist.
- -output:x or -output:"x"
- Will check the defined output items, comma-delimited, by default after startup.
- Requires version 1.5.2 or later.
- Will automatically save any generated playlist to Xml, once it is generated.
- Will automatically exit the program after saving a playlist.
- Both -connect and -save are required when using -exit.
- If there is a problem saving the playlist to a file, the program will not automatically exit.
For example, running the following from the command line will connect to iTunes immediately, select the James Skemp's 80 gig source and My Top Rated playlist.
iTunesPlaylistsToXml.exe -connect -source:"James Skemp's 80 gig" -playlist:"My Top Rated"
Previous versions of iTunes Playlists to Xml are available for download. Links to the changes made are also included.
- Latest version (5/8/2010): Version 1.6: Download - Release notes
- Version 1.5.3: Download - Release notes
- Version 188.8.131.52: Download - Release notes included with the version 1.5.1 notes.
- Version 1.5.2: Download - Release notes included with the version 1.5.1 notes.
- Version 1.5.1: Download - Release notes
- Version 1.5: Download - Release notes
- Version 1.4.1: Download - Release notes
- Version 1.4: Download - Release notes
- Version 1.3: Download - Release notes
- Version 1.2: Download - Release notes
- Version 1.1.1: Download - Release notes included with the version 1.1 notes.
- Version 1.1: Download - Release notes
- Version 1.0: Download - Release notes
- Version 0.6b: Download - Release notes
- Version 0.4b: Download - Release notes
- Version 0.3b: Download - Release notes
- Version 0.2b: Download - Release notes