加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml读写--谁知道这几个方法怎么用都需要什么框架(请留言)

发布时间:2020-12-16 06:36:29 所属栏目:百科 来源:网络整理
导读:创建XML文件 //创建XML文件 -(NSXMLDocument*)createXMLDocument:(NSString*)rootName{ NSLog(@"%@withrootName%@",NSStringFromSelector(_cmd),rootName); NSXMLElement*root=(NSXMLElement*)[NSXMLNodeelementWithName:rootName]; [rootaddAttribute:[NSXM
创建XML文件

  1. //创建XML文件
  2. -(NSXMLDocument*)createXMLDocument:(NSString*)rootName{
  3. NSLog(@"%@withrootName%@",NSStringFromSelector(_cmd),rootName);
  4. NSXMLElement*root=(NSXMLElement*)[NSXMLNodeelementWithName:rootName];
  5. [rootaddAttribute:[NSXMLNodeattributeWithName:@"version"stringValue:@"1.0"]];
  6. NSXMLDocument*xmlDoc=[[NSXMLDocumentalloc]initWithRootElement:root];
  7. [xmlDocsetVersion:@"1.0"];
  8. [xmlDocsetCharacterEncoding:@"UTF-8"];
  9. [xmlDocsetRootElement:root];
  10. return[xmlDocautorelease];
  11. }

2. 装载XML文件


    -(NSXMLDocument*)loadXMLDocument:(NSString*)xmlFilePath{
  1. assert(xmlFilePath);
  2. NSXMLDocument*xmlDoc=nil;
  3. NSError*error=nil;
  4. @try{
  5. NSURL*fileURL=[NSURLfileURLWithPath:xmlFilePath];
  6. if(fileURL==nil){
  7. returnnil;
  8. }
  9. xmlDoc=[[NSXMLDocumentalloc]initWithContentsOfURL:fileURLoptions:NSXMLDocumentTidyXMLerror:&error];
  10. @catch(NSException*e){
  11. }
  12. @finally{
  13. return[xmlDocautorelease];
  14. }

3. 保存XML文件


  1. -(BOOL)saveXMLFile:(NSString*)destPath:(NSXMLDocument*)xmlDoucment{
  2. if(xmlDoucment==nil){
  3. returnNO;
  4. }
  5. if(![[NSFileManagerdefaultManager]fileExistsAtPath:destPath]){
  6. if(![[NSFileManagerdefaultManager]createFileAtPath:destPathcontents:nilattributes:nil]){
  7. returnNO;
  8. }
  9. NSData*xmlData=[xmlDoucmentXMLDataWithOptions:NSXMLNodePrettyPrint];
  10. if(![xmlDatawriteToFile:destPathatomically:YES]){
  11. NSLog(@"Couldnotwritedocumentout...");
  12. returnYES;
  13. }

4. 生成CData节点


    -(NSXMLNode*)generateCDataNode:(NSString*)value{
  1. <spanstyle="white-space:pre"></span>NSXMLNode*cdataNode=[[NSXMLNodealloc]initWithKind:NSXMLTextKindoptions:NSXMLNodeIsCDATA];
  2. <spanstyle="white-space:pre"></span>[cdataNodesetStringValue:value];
  3. <spanstyle="white-space:pre"></span>
  4. <spanstyle="white-space:pre"></span>return[cdataNodeautorelease];
  5. }

可以像下面这样使用:

    NSXMLElement*urlNode=[NSXMLElementelementWithName:@"Setting"];
  1. NSXMLNode*cdataNode=[selfgenerateCDataNode:dmgFileName];
  2. [urlNodeaddAttribute:[NSXMLNodeattributeWithName:@"name"stringValue:name]];
  3. [urlNodeaddAttribute:[NSXMLNodeattributeWithName:@"type"stringValue:type]];
  4. [urlNodeaddChild:cdataNode];

生成的Xml节点如下:


    <Settingname="OutputFileName"type="string"><![CDATA[mac-data-recovery_full737.dmg]]></Setting>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读