【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的结 ...
随机推荐
- hdu 4542 数论 + 约数个数相关 腾讯编程马拉松复赛
题目:http://acm.hdu.edu.cn/showproblem.php?pid=4542 小明系列故事--未知剩余系 Time Limit: 500/200 MS (Java/Others) ...
- .net中的设计模式---单例模式,涉及lock的用法
.客户端代码 static void Main(string[] args) { Singleton singleton2 = Singleton.GetInstance(); Singleton s ...
- mysql_常用命令
1: 以指定编码创建数据库 CREATE DATABASE `search_data` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
- 2014年最新的辛星html、css教程打包公布了,免积分,纯PDF(还有PHP奥)
首先说一下,这个教程是我的全部的博客的精华,我整理了两天之后才做出的这个pdf文档,累死我了,以下免积分给大家,希望大家可以不吝指正,提出它的一些不足什么的,谢谢啦: 以下就是它的下载地址了:2014 ...
- cocos2d-x 3.0游戏实例学习笔记 《跑酷》第四步--地图循环&主角加入动作
说明:这里是借鉴:晓风残月前辈的博客,他是将泰然网的跑酷教程,用cocos2d-x 2.X 版本号重写的,眼下我正在学习cocos2d-X3.0 于是就用cocos2d-X 3.0重写,并做相关笔记 ...
- 认识bash这个shell
我们通过shell将我们输入的命令与内核通信,好让内核可以控制硬件来正确无误地工作bash是我们Linux默认的shell 用户界面(Shell,application)--------核心(Kern ...
- perconaXTRADB Cluster在Redhat Linux上的安装
installing-perconaXTRADB Cluster 5.6 For Redhat 6.4 一.server版本号查看 Root# cat /etc/redhat-release Red ...
- Webservice中使用Session、Application
原文:Webservice中使用Session.Application 在Asp.Net 2.0里,已经能够在WebMethod里使用 Session . Application 这种服务器变量了.一 ...
- archlinux的wiki非常强壮
最近发现搜索linux工具或系统配置内容.来自同一个站点很多很好的资源:https://www.archlinux.org/,网站wiki(https://wiki.archlinux.org/)中有 ...
- 2014值得期待的Erlang两本新书
在2014年的开头就有这样一个令人振奋的好消息,Erlang有一本新书即将出版 <The Erlang Runtime System>,其作者happi在2013年3月份发布了这本书的写作 ...