PlistCS icon indicating copy to clipboard operation
PlistCS copied to clipboard

A C# Property List (plist) serialization library.


DESCRIPTION

This is a C# Property List (plist) serialization library (MIT license). It supports both XML and binary versions of the plist format.

plist C#


string string integer short, int, long real double dictionary Dictionary<string, object> array List date DateTime data List boolean bool


USAGE

See PlistCS/PlistCS/plistTests.cs for examples of reading and writing all types to both XML and binary. E.g. to read a plist from disk whose root node is a dictionary:

	Dictionary<string, object> dict = (Dictionary<string, object>)Plist.readPlist("testBin.plist");

The plist format (binary or XML) is automatically detected so call the same readPlist method for XML

	Dictionary<string, object> dict = (Dictionary<string, object>)Plist.readPlist("testXml.plist");

To write a plist, e.g. dictionary

        Dictionary<string, object> dict = new Dictionary<string, object>
	    {
		    {"String Example", "Hello There"},
		    {"Integer Example", 1234}
	    };
        Plist.writeXml(dict, "xmlTarget.plist");

and for a binary plist

        Dictionary<string, object> dict = new Dictionary<string, object>
	    {
		    {"String Example", "Hello There"},
		    {"Integer Example", 1234}
	    };
        Plist.writeBinary(dict, "xmlTarget.plist");

The other public methods allow for reading and writing from streams and byte arrays. Again, see the test suite code PlistCS/PlistCS/plistTests.cs for comprehensive examples.


AUTHOR

Mark Tilton, Animetrics Inc.