C# Batchfile
Switch branches/tags
Nothing to show
Clone or download
asciamanna Bumps version and updates release notes
- Releases latest version of the library
Latest commit e09ef1b Jun 6, 2018



Build status Coverage Status NuGet version Codacy Badge

The iTunes Library Parser is implemented in C# utilizing LINQ-To-XML. Given the location of a iTunes Music Library XML file it parses the PropertyList format, which is defined by the Document Type Declaration (DTD) defined here http://www.apple.com/DTDs/PropertyList-1.0.dtd. It supports parsing tracks, albums, and playlists. More features will be added periodically.


The nuget package is available here


var library = new ITunesLibrary("iTunesLibrary.xml");

var tracks = library.Tracks 
// returns all tracks in the iTunes Library

var albums = library.Albums
// returns all albums in the iTunes Library

var playlists = library.Playlists
// returns all playlists in the iTunes Library


iTunesLibaryParser will be maintained under the Semantic Versioning guidelines. Releases will follow this format:

  • If a release breaks backward compatibility the major version will be bumped (resetting minor and build back to zero).
  • New features and updates without breaking backward compatibility will bump the minor version (resetting the build to zero)
  • Bug fixes and small miscellaneous changes increase the build number

Performance Testing

14,500 tracks -> 800ms
2400 albums -> 1.4s
100 playlists -> 2.2s

Coming Soon

Additional features will be coming soon like filtering tracks by track criteria.

Project Dependencies

coveralls.io 1.4.2
NUnit 3.10.1
NUnit.ConsoleRunner 3.8.0
Moq 4.8.2
OpenCover 4.6.519


Anthony Sciamanna
Web: http://www.anthonysciamanna.com
Twitter: @asciamanna