2013-12-25 2 views
0

Я новичок в xcode и объективной c какао-каркасе, и я хочу написать xml-данные в xml-файл, размещенный в папке ресурсов моего какао, но я не могу записать данные в файл. Кто-нибудь может помочь.Как создать xml-файл в объекте c cocoa

NSXMLElement *root = [[NSXMLElement alloc] initWithName:@"Request"]; 
[root addAttribute:[NSXMLNode attributeWithName:@"Attribute1" stringValue:@"Value1"]]; 
[root addAttribute:[NSXMLNode attributeWithName:@"Attribute2" stringValue:@"Value2"]]; 
[root addAttribute:[NSXMLNode attributeWithName:@"Attribute3" stringValue:@"Value3"]]; 

NSXMLElement *childElement1 = [[NSXMLElement alloc] initWithName:@"ChildElement1"]; 
[root addChild:childElement1]; 
[childElement1 release]; 

NSXMLElement *childElement2 = [[NSXMLElement alloc] initWithName:@"ChildElement2"]; 
[childElement2 addAttribute:[NSXMLNode attributeWithName:@"ChildAttribute2.1" stringValue:@"Value2.1"]]; 
[childElement2 setStringValue:@"ChildValue2.1"]; 
[root addChild:childElement2]; 
[childElement2 release]; 

NSXMLDocument *xmlRequest = [NSXMLDocument documentWithRootElement:root]; 
[root release]; 
NSLog(@"XML Document\n%@", xmlRequest);//till this art code runs fine. 
but when next part starts i got bad exception and code stops. 
NSData *xmlData = [xmlRequest XMLDataWithOptions:NSXMLNodePrettyPrint]; 
[xmlData writeToFile:@"/Users/halen/Documents/project3/xmlsample.xml" atomically:YES]; 
[xmlRequest release]; 

Я не знаю, в чем проблема, есть проблемы с размещением файла xml. где разместить xml-файл? И каков правильный способ записи XML-данных в .xml-файл?

ответ

0

writeToFile: ожидает путь. Вы не указали допустимый путь.

+0

Я также дал полный путь (см обновленный код в моем вопросе), но ошибка такая же :( – mano

+1

Попробуйте один из методов writeToURL. Создайте файл URL из строки пути. Поставьте NSError и проверьте ошибку, если метод возвращает значение BOOL NO – uchuugaka

0

Попробуйте этот метод

[[NSFileManager defaultManager] createFileAtPath:@"/Some/Path/foo.xml" 
          contents:xmlData 
          attributes:nil]; 
+0

, оно помещается в папку ресурсов моего проекта/другим словом в моем проекте, затем какой путь я должен ему дать? – mano

+0

и, пожалуйста, вы можете объяснить, как используйте метод, который вы упомянули? – mano

+0

http://www.ios-developer.net/iphone-ipad-programmer/development/file-saving-and-loading/using-the-document-directory-to-store-files - наслаждайтесь – HereTrix

Смежные вопросы