How to read plist file in iphone
ios
Solution
Follow the given snippet for fetching data from plist
NSString *strplistPath = [[NSBundle mainBundle] pathForResource:<plistName> ofType:@"plist"];
// read property list into memory as an NSData object
NSData *plistXML = [[NSFileManager defaultManager] contentsAtPath:strplistPath];
NSString *strerrorDesc = nil;
NSPropertyListFormat plistFormat;
// convert static property liost into dictionary object
NSDictionary *temp = (NSDictionary *)[NSPropertyListSerialization propertyListFromData:plistXML mutabilityOption:NSPropertyListMutableContainersAndLeaves format:&plistFormat errorDescription:&strerrorDesc];
if (!temp) {
NSLog(@"Error reading plist: %@, format: %d", strerrorDesc, plistFormat);
} else {
// assign values
NSMutableArray *plistArray = [NSMutableArray arrayWithArray:[temp objectForKey:key]];
}
where Key -> for accessing particular field from plist
Enjoy Programming!
Problem
I want to read a plist into my application. I want to try to create a tree. The plist file contents: ``` <plist version="1.0"> <array> <dict> <key>Name</key> <string>Test Webservice</string> <key>child</key> <array> <dict> <key>child</key> <array> <dict> <key>child</key> <array> <dict> <key>id</key> <integer>4291</integer> <key>name</key> <string>1.1.1</string> </dict> <dict> <key>id</key> <integer>4292</integer> <key>name</key> <string>1.1.2</string> </dict> </array> <key>id</key> <integer>4290</integer> <key>name</key> <string>1.1</string> </dict> <dict> <key>child</key> <array> <dict> <key>id</key> <integer>4294</integer> <key>name</key> <string>1.2.1</string> </dict> </array> <key>id</key> <integer>4293</integer> <key>name</key> <string>1.2</string> </dict> </array> <key>id</key> <integer>4287</integer> <key>name</key> <string>1</string> </dict> <dict> <key>child</key> <array> <dict> <key>child</key> <array> <dict> <key>child</key> <array> <dict> <key>id</key> <integer>4297</integer> <key>name</key> <string>2.1.1.1</string> </dict> </array> <key>id</key> <integer>4296</integer> <key>name</key> <string>2.1.1</string> </dict> </array> <key>id</key> <integer>4295</integer> <key>name</key> <string>2.1</string> </dict> </array> <key>id</key> <integer>4288</integer> <key>name</key> <string>2</string> </dict> <dict> <key>id</key> <integer>4289</integer> <key>name</key> <string>3</string> </dict> </array> <key>id</key> <integer>4286</integer> </dict> </array> </plist> ```