https://github.com/asciamanna/ituneslibraryparser
C# LINQ-To-XML iTunes Library Parser
https://github.com/asciamanna/ituneslibraryparser
c-sharp itunes linq nuget plist propertylist xml
Last synced: 3 months ago
JSON representation
C# LINQ-To-XML iTunes Library Parser
- Host: GitHub
- URL: https://github.com/asciamanna/ituneslibraryparser
- Owner: asciamanna
- License: mit
- Created: 2012-09-23T11:49:25.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2020-06-26T05:22:48.000Z (almost 5 years ago)
- Last Synced: 2025-01-30T06:13:47.980Z (3 months ago)
- Topics: c-sharp, itunes, linq, nuget, plist, propertylist, xml
- Language: Smalltalk
- Homepage:
- Size: 16.1 MB
- Stars: 18
- Watchers: 3
- Forks: 12
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
iTunesLibraryParser
===================
[](https://ci.appveyor.com/project/asciamanna/ituneslibraryparser)
[](https://coveralls.io/github/asciamanna/iTunesLibraryParser?branch=master)
[](https://www.nuget.org/packages/iTunesLibraryParser/)
[](https://app.codacy.com/app/asciamanna/iTunesLibraryParser?utm_source=github.com&utm_medium=referral&utm_content=asciamanna/iTunesLibraryParser&utm_campaign=badger)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](http://www.apple.com/DTDs/PropertyList-1.0.dtd). It supports parsing tracks, albums, and playlists. More features will be added periodically.
## Nuget
The nuget package is [available here](https://www.nuget.org/packages/iTunesLibraryParser/)
## Usage
```csharp
var library = new ITunesLibrary("iTunesLibrary.xml");var tracks = library.Tracks
// returns all tracks in the iTunes Libraryvar albums = library.Albums
// returns all albums in the iTunes Libraryvar playlists = library.Playlists
// returns all playlists in the iTunes Library
```## Versioning
iTunesLibaryParser will be maintained under the [Semantic Versioning guidelines](http://semver.org). 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
Moq 4.8.2
NUnit 3.10.1
NUnit.ConsoleRunner 3.8.0
OpenCover 4.6.519## Contact
**Anthony Sciamanna**
**Web:** [https://anthonysciamanna.com](https://anthonysciamanna.com)
**Twitter:** [@asciamanna](https://www.twitter.com/asciamanna)