【IOS开发】创建XML文件
- (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文件的更多相关文章
- iOS开发-- 创建podspec文件,为自己的项目添加pod支持
开篇扯淡 作为一个iOS开发者,一定用过CocoaPods吧,没用过?点这儿去面壁吧 Cocoapods作为iOS开发的包管理器,给我们的开发带来了极大的便利,而且越来越多的第三方类库支持Pod,可以 ...
- iOS开发网络篇—文件的上传
iOS开发网络篇—文件的上传 说明:文件上传使用的时POST请求,通常把要上传的数据保存在请求体中.本文介绍如何不借助第三方框架实现iOS开发中得文件上传. 由于过程较为复杂,因此本文只贴出部分关键代 ...
- iOS 开发http post 文件的上传
iOS开发网络篇—文件的上传 说明:文件上传使用的时POST请求,通常把要上传的数据保存在请求体中.本文介绍如何不借助第三方框架实现iOS开发中得文件上传. 由于过程较为复杂,因此本文只贴出部分关键代 ...
- 接口开发之PHP创建XML文件
用PHP的DOM控件来创建输出 输出的格式为XML 接口开发的相关文件及说明 <?php header("Content-type: text/xml");//头文件非常重要 ...
- .net中创建xml文件的两种方法
.net中创建xml文件的两种方法 方法1:根据xml结构一步一步构建xml文档,保存文件(动态方式) 方法2:直接加载xml结构,保存文件(固定方式) 方法1:动态创建xml文档 根据传递的值,构建 ...
- C#操作XML学习之创建XML文件的同时新建根节点和子节点(多级子节点)
最近工作中遇到一个问题,要求创建一个XML文件,在创建的时候要初始化该XML文档,同时该文档打开后是XML形式,但是后缀名不是.在网上找了好些资料没找到,只能自己试着弄了一下,没想到成功了,把它记下来 ...
- Java 创建xml文件和操作xml数据
java中的代码 import java.io.File; import java.io.StringWriter; import javax.xml.parsers.DocumentBuilder; ...
- TinyXML2读取和创建XML文件 分类: C/C++ 2015-03-14 13:29 94人阅读 评论(0) 收藏
TinyXML2是simple.small.efficient C++ XML文件解析库!方便易于使用,是对TinyXML的升级改写!源码见本人上传到CSDN的TinyXML2.rar资源:http: ...
- XML文件操作类--创建XML文件
这个类是在微软XML操作类库上进行的封装,只是为了更加简单使用,包括XML类创建节点的示例. using System; using System.Collections; using System. ...
- asp.net创建XML文件方法
方法一:按照XML的结构一步一步的构建XML文档. 通过.Net FrameWork SDK中的命名空间"System.Xml"中封装的各种类来实现的 方法一:按照XML的结 ...
随机推荐
- 用jQuery写了一个模态框插件
用jQuery写了一个模态框插件 大家觉得下面的框框好看么, 水印可以去掉(这个任务交给你们了(- o -)~zZ); "info"框 $("div").con ...
- AlloyRenderingEngine
AlloyRenderingEngine燃烧的进度条 写在前面 Github: https://github.com/AlloyTeam/AlloyGameEngine HTML 5新增了progre ...
- HDU 4005 The war (图论-tarjan)
The war Problem Description In the war, the intelligence about the enemy is very important. Now, our ...
- opengl微开发之1-从零開始
对OpenGL有一点了解之后,如今開始真正编写代码. 今天的内容: 使用FreeGLUT创建OpenGL的上下文环境 初始化GLEW 创建一个OpenGL的的模板范例 第一步: 一个OpenGL的上下 ...
- Android基础之——MacOSX下elipse开发环境的配置
前不久换了台macbook,然后自己就把开发环境给配好了,本来这事就这么过去了,今天有位博友留言让我写一篇关于配置的文章,考虑到这个东西确实以后可能还会用,那就写下来,分享给大家,正好自己也再次回想一 ...
- struts2基本介绍
前言 文本 Struts2 Apache SoftWare Foundation Tomcat/Struts1/Struts2/Ibaitas/ MVC框架:Struts1/Struts2/JSF/W ...
- Cracking Microservices practices
微服务最佳实践 英文原文:Cracking Microservices practices 在我还不知道什么叫微服务架构的时候我就使用过它.以前,我写了一些管道程序(pipeline applicat ...
- 如何清除应用程序承载 WebBrowser 控件时缓存
原文:如何清除应用程序承载 WebBrowser 控件时缓存 http://support.microsoft.com/kb/262110/zh-cn察看本文应用于的产品 function loadT ...
- vector查找元素
转自:http://hi.baidu.com/chain2008/blog/item/821744585e12c5c89c8204e8.html 今天又忘了怎么在vector中查找某一个值..唉..每 ...
- ASP.NET 依赖注入。
ASP.NET 依赖注入. http://www.it165.net/pro/html/201407/17685.html 我在网上看到了这篇文章,这边文章主要说的方法就是通过读取配置文件来解决依赖注 ...