- (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. HBase加Solr

    HBase加Solr 如何解决分布式系统数据事务一致性问题 (HBase加Solr) 摘要:对于所有的分布式系统,我想事务一致性问题是极其非常重要的问题,因为它直接影响到系统的可用性.本文以下所述所要 ...

  2. Android发展的一个重要方面Makefile分析

    Android发展的一个重要方面Makefile分析 随着移动互联网的发展,移动开发也越来越吃香了.眼下最火的莫过于android.android是什么就不用说了,android自从开源以来,就受到非 ...

  3. Android 内存管理 &amp;Memory Leak &amp; OOM 分析

    1.Android 流程管理&内存 Android主要应用在嵌入式设备其中.而嵌入式设备因为一些众所周知的条件限制,通常都不会有非常高的配置,特别是内存是比較有限的. 假设我们编写的代 码其中 ...

  4. 第19章 解释器模式(Interpreter Pattern)

    原文 第19章 解释器模式(Interpreter Pattern) 解释器模式 导读:解释器模式,平常用的比较的少,所以在写这个模式之前在博客园搜索了一番,看完之后那叫一个头大.篇幅很长,我鼓足了劲 ...

  5. Java和Flex积分误差(一个)

    1.错误叙述性说明 at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency( ...

  6. C#关于图片的相关处理

    public class ImageHelper { /// <summary> /// 图片转换成字节流 /// </summary> /// <param name= ...

  7. 数据结构与算法之递推算法 C++与PHP实现

    数据结构是算法实现的基础,算法总是要依赖于某种数据结构来实现的.往往是在发展一种算法的时候,构建了适合于这样的算法的数据结构.一种数据结构假设脱离了算法,也就没有存在的价值了. 算法的作用----解决 ...

  8. 辞 = or != 一个新的起点!!!

    辞职!他离开了公司工作三年以上.怀旧也许是一个暗示.伍德还可能有丝毫的遗憾! 简而言之.其结果是坚决离开.在一个.NET程序员的身份进入公司,但仅做了一个月.NET,而仍保持,台,框架,自己的语言!就 ...

  9. 关于WebBrowser(浏览器)控件的调用

    原文:关于WebBrowser(浏览器)控件的调用 在VS.NET2002和2003中,要应用WebBrowser(浏览器)控件,得用InterOp,刚开始用的时候很正常,后来不知道为什么窗口一打开就 ...

  10. 互联网创业应该如何找到创意 - RethinkDB创始人Slava Akhmechet的几点建议

    关于作者 我叫Slava Akhmechet,本人是 RethinkDB 的创始人之一,RethinkDB是一个设计来帮助开发者和运营团队来处理无结构数据的一个开源的分布式数据库,用户可以使用它来作为 ...