2013-04-03 35 views
0

我正在使用XMWriter類來生成XML,但生成了我的XML字符串後,我不確定如何將其另存爲XML文件。將XML字符串輸出爲XML文件

它的.m代碼

[xmlWriter writeEndElement]; 
[xmlWriter writeStartElement:@"Miniparent"]; 
[xmlWriter writeStartElement:@"Child"]; 
[xmlWriter writeCharacters:@"Text content for root element"]; 
[xmlWriter writeEndElement]; 
[xmlWriter writeStartElement:@"Child"]; 
[xmlWriter writeCharacters:@"Text content for root element"]; 
[xmlWriter writeEndElement]; 

控制檯輸出

<Miniparent> 
<Child>Text content for root element</Child> 
<Child>Text content for root element</Child> 
<Child>Text content for root element</Child> 
</Miniparent> 
+1

「甲酸鹽,我想」什麼ü想要什麼? – CRDave

+1

NSString> NSData> NSFileManager>文件是我首先想到如何實現它。 – Cocoadelica

回答

1

轉換爲一個NSString對象

NSString* xml = [xmlWriter toString]; 

然後將其保存到文件

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents directory 

NSError *error = nil; 
BOOL succeed = [xml writeToFile:[documentsDirectory stringByAppendingPathComponent:@"myXmlFile.xml"] 
     atomically:YES encoding:NSUTF8StringEncoding error:&error]; 
if (!succeed){ 
    // Handle error here 
} 
1

我解決我的問題如下,並把這段代碼爲其他用戶

NSFileManager *fileManager = [NSFileManager defaultManager]; 

//getting the path to document directory for the file 
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentDir = [paths objectAtIndex:0]; 
NSString *path = [documentDir stringByAppendingPathComponent:@"test.xml"]; 

//checking to see of the file already exist 
if(![fileManager fileExistsAtPath:path]) 
{ 
    [fileManager createFileAtPath:path contents:[xml dataUsingEncoding:NSUTF8StringEncoding] attributes:nil]; 
}