- (void)viewDidLoad
{
[super viewDidLoad]; NSString *path = [[NSBundle mainBundle] pathForResource:@"items" ofType:@"plist"];
NSDictionary *wed3dDic = [NSDictionary dictionaryWithContentsOfFile:path];
NSArray *wed3dArr = [wed3dDic valueForKey:@"wed3d"]; NSMutableString *xmlString = [NSMutableString stringWithString:@"<?xml version=\"1.0\" encoding=\"UTF-8\"?>"];
[xmlString appendString:@"<wed3d>"];
NSLog(@"%@",xmlString); for (int i =0; i < [wed3dArr count]; i++) {
NSDictionary *dic = [wed3dArr objectAtIndex:i]; NSString *contentName = [dic valueForKey:@"contentname"];
if ([contentName isEqualToString:@"scene"]) {
NSString *l = [dic valueForKey:@"l"];
NSString *w = [dic valueForKey:@"w"];
NSString *h = [dic valueForKey:@"h"];
[xmlString appendFormat:@"<%@ 1=\"%@\" w=\"%@\" h=\"%@\" />",contentName,l,w,h];
}else if ([contentName isEqualToString:@"objects"]){
[xmlString appendFormat:@"<%@>",contentName];
NSArray *itemArr = [dic valueForKey:@"items"];
for (int j = 0; j<[itemArr count]; j++) {
NSDictionary *itemDic = [itemArr objectAtIndex:j];
NSString *itemName = [itemDic valueForKey:@"itemname"];
NSString *x = [itemDic valueForKey:@"x"];
NSString *z = [itemDic valueForKey:@"z"];
[xmlString appendFormat:@"<item name=\"%@\" x=\"%@\" z=\"%@\" />",itemName,x,z];
}
[xmlString appendFormat:@"</%@>",contentName];
}else if ([contentName isEqualToString:@"colors"]||[contentName isEqualToString:@"lights"]){
[xmlString appendFormat:@"<%@>",contentName];
NSArray *itemArr = [dic valueForKey:@"items"];
for (int j = 0; j<[itemArr count]; j++) {
NSDictionary *itemDic = [itemArr objectAtIndex:j];
NSString *itemName = [itemDic valueForKey:@"itemname"];
NSString *r = [itemDic valueForKey:@"r"];
NSString *g = [itemDic valueForKey:@"g"];
NSString *b = [itemDic valueForKey:@"b"];
NSString *a = [itemDic valueForKey:@"a"];
[xmlString appendFormat:@"<item name=\"%@\" r=\"%@\" g=\"%@\" b=\"%@\" a=\"%@\" />",itemName,r,g,b,a];
}
[xmlString appendFormat:@"</%@>",contentName];
}else
{
NSString *l = [dic valueForKey:@"l"];
NSString *w = [dic valueForKey:@"w"];
NSString *h = [dic valueForKey:@"h"];
[xmlString appendFormat:@"<%@ 1=\"%@\" w=\"%@\" h=\"%@\" >",contentName,l,w,h];
NSArray *itemArr = [dic valueForKey:@"items"];
for (int j = 0; j<[itemArr count]; j++) {
NSDictionary *itemDic = [itemArr objectAtIndex:j];
NSString *itemName = [itemDic valueForKey:@"itemname"];
NSString *x = [itemDic valueForKey:@"x"];
NSString *z = [itemDic valueForKey:@"z"];
[xmlString appendFormat:@"<item name=\"%@\" x=\"%@\" z=\"%@\" />",itemName,x,z];
}
[xmlString appendFormat:@"</%@>",contentName];
}
}
[xmlString appendString:@"</wed3d>"]; NSError *error;
[xmlString writeToFile:[self dataFilePath:YES] atomically:YES encoding:NSUTF8StringEncoding error:&error];
NSLog(@"%@",wed3dDic); } - (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
} - (NSString *)dataFilePath:(BOOL)forSave { NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *documentsPath = [documentsDirectory
stringByAppendingPathComponent:@"xml"];
if (forSave ||
[[NSFileManager defaultManager] fileExistsAtPath:documentsPath]) {
return documentsPath;
} else {
return [[NSBundle mainBundle] pathForResource:@"xml" ofType:@"xml"];
} }

  

【IOS开发】创建XML文件的更多相关文章

  1. iOS开发-- 创建podspec文件,为自己的项目添加pod支持

    开篇扯淡 作为一个iOS开发者,一定用过CocoaPods吧,没用过?点这儿去面壁吧 Cocoapods作为iOS开发的包管理器,给我们的开发带来了极大的便利,而且越来越多的第三方类库支持Pod,可以 ...

  2. iOS开发网络篇—文件的上传

    iOS开发网络篇—文件的上传 说明:文件上传使用的时POST请求,通常把要上传的数据保存在请求体中.本文介绍如何不借助第三方框架实现iOS开发中得文件上传. 由于过程较为复杂,因此本文只贴出部分关键代 ...

  3. iOS 开发http post 文件的上传

    iOS开发网络篇—文件的上传 说明:文件上传使用的时POST请求,通常把要上传的数据保存在请求体中.本文介绍如何不借助第三方框架实现iOS开发中得文件上传. 由于过程较为复杂,因此本文只贴出部分关键代 ...

  4. 接口开发之PHP创建XML文件

    用PHP的DOM控件来创建输出 输出的格式为XML 接口开发的相关文件及说明 <?php header("Content-type: text/xml");//头文件非常重要 ...

  5. .net中创建xml文件的两种方法

    .net中创建xml文件的两种方法 方法1:根据xml结构一步一步构建xml文档,保存文件(动态方式) 方法2:直接加载xml结构,保存文件(固定方式) 方法1:动态创建xml文档 根据传递的值,构建 ...

  6. C#操作XML学习之创建XML文件的同时新建根节点和子节点(多级子节点)

    最近工作中遇到一个问题,要求创建一个XML文件,在创建的时候要初始化该XML文档,同时该文档打开后是XML形式,但是后缀名不是.在网上找了好些资料没找到,只能自己试着弄了一下,没想到成功了,把它记下来 ...

  7. Java 创建xml文件和操作xml数据

    java中的代码 import java.io.File; import java.io.StringWriter; import javax.xml.parsers.DocumentBuilder; ...

  8. TinyXML2读取和创建XML文件 分类: C/C++ 2015-03-14 13:29 94人阅读 评论(0) 收藏

    TinyXML2是simple.small.efficient C++ XML文件解析库!方便易于使用,是对TinyXML的升级改写!源码见本人上传到CSDN的TinyXML2.rar资源:http: ...

  9. XML文件操作类--创建XML文件

    这个类是在微软XML操作类库上进行的封装,只是为了更加简单使用,包括XML类创建节点的示例. using System; using System.Collections; using System. ...

  10. asp.net创建XML文件方法

    方法一:按照XML的结构一步一步的构建XML文档.    通过.Net FrameWork SDK中的命名空间"System.Xml"中封装的各种类来实现的 方法一:按照XML的结 ...

随机推荐

  1. JavaScript编写了一个计时器

    初学JavaScript,用JavaScript编写了一个计时器. 设计思想: 1.借助于Date()对象,来不断获取时间点: 2.然后用两次时间点的毫秒数相减,算出时间差: 3.累加时间差,这样就能 ...

  2. 从头开始学JavaScript (八)——变量

    原文:从头开始学JavaScript (八)--变量 一.变量分类: 基本类型值:null.undefined.number.string.Boolean: 引用类型值:保存在内存中的对象,如:Obj ...

  3. ajax提交与上传文件同步

    我们经常担心文件上传,最烦比,可以推断,我们上传的文件大小,格风格等等一系列的推理验证.所以,我们只能ajax提交验证.ajax异步提交太麻烦,我想太多的变化代码,事实上,我们使用JQuery当插件, ...

  4. 【高德地图API】那些年我们一起开发的APP—即LBS应用模式分享

    原文:[高德地图API]那些年我们一起开发的APP—即LBS应用模式分享 摘要:利用地图API都能做些什么应用呢?应用商店里所有的分类,都可以结合上LBS来丰富应用.除了传统的生活服务应用,还有新潮的 ...

  5. iOS8自适应布局视频教程

    联系:http://www.elsyy.com/course/6480 这是颐和园最近录制iOS8视频课程.简介iOS8出现在自适应布局. 本教程的书,颐和园<ios8 swift编程指南> ...

  6. SharePoint 2013 搜索SharePoint 特定列和特定文档(自己定义搜索)

    SharePoint 2013 搜索SharePoint 特定列和特定文档 1,操作步骤和图例,因语言和版本号的不同 我尽量使用抓图方式. 2.  In Central Administration, ...

  7. 换行符以及for循环的优化

    string str = ""; for (int i = 0; i < _errlistCusEmailInfo.Count; i++)                   ...

  8. sql server drop talbe 自动删除关联的外键 ,权限体系(一)

    if object_id('Proc_DropTableWithFK') is not null begin drop proc dbo.Proc_DropTableWithFK end GO ) a ...

  9. Font-Awesome 体验 鼠标进入图标变大

    <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> &l ...

  10. 如何清除应用程序承载 WebBrowser 控件时缓存

    原文:如何清除应用程序承载 WebBrowser 控件时缓存 http://support.microsoft.com/kb/262110/zh-cn察看本文应用于的产品 function loadT ...