【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的结 ...
随机推荐
- DevExpress XtraReports 入门六 控件以程序方式创建一个 交叉表 报表
原文:DevExpress XtraReports 入门六 控件以程序方式创建一个 交叉表 报表 本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用的,为了帮助 ...
- js中document.write()使用方法
<script> var hrf = window.location.href; if(hrf.indexOf('change')>0){ ...
- JS日期时间选择器
本文介绍一种日期和时间选择器的使用方法.此选择器由jqueryUI实现,支持精确到毫秒的时间选择. 此选择器项目地址为http://trentrichardson.com/examples/timep ...
- 教你Ant安装和配置
Ant它是基于Java施工工具,它的主要作用是产生能够运行Java计划,把握Ant一些功能可以使项目更专业. 忙乱,可以在这里下载2014年8最近一个月Ant http://download.csdn ...
- UVA - 10014 - Simple calculations (经典的数学推导题!!)
UVA - 10014 Simple calculations Time Limit: 3000MS Memory Limit: Unknown 64bit IO Format: %lld & ...
- IronPython和C#交互
IronPython和C#交互 IronPython是一个.NET平台上的Python实现,包括了完整的编译器.执行引擎与运行时支持,能够与.NET已有的库无缝整合到一起. IronPython已经很 ...
- Hack 语言学习/参考---1.1 What is Hack?
What is Hack?¶ Hack is a language for HHVM that interopates seamlessly with PHP. The barrier to entr ...
- HTTP 错误500.19 -Internal Server Error
原文:HTTP 错误500.19 -Internal Server Error HTTP 错误500.19 -Internal Server Error 错误代码 0x80070021 评论1 字号: ...
- HDU 4324 Triangle LOVE 拓扑排序
Problem Description Recently, scientists find that there is love between any of two people. For exam ...
- [Unity3D]Unity3D连衣裙实现游戏开发系统
大家好,我是秦培.欢迎关注我的博客,我的博客地址">blog.csdn.net/qinyuanpei. 不知从什么时候開始,国产RPG单机游戏開始出现换装,仙剑系列中第一部实现了换装的 ...