如何用KissXML生成一个XML文件
因为项目需求,需要本地生成一个XML文件,网上有很多XML解析教程,却很少有创建XML文件的教程,估今天在这里写一篇文章,希望能帮到有需要的人。
KissXML
KissXML是一个比较出名的xml解析开源项目,支持OS X和iOS下的XML解析,下载地址:
github主页 ,更多介绍在里面,各位客官请自己查看。
1.导入KissXML
1>将KissXML导入工程
2>加入libxml2.dylib 到Frameworks
3>在target中设置一下两个属性
OTHER_LDFLAGS = -lxml2
HEADER_SEARCH_PATHS = /usr/include/libxml2
4>导入头文件DDXML.h
2.举个例子
我们从简单开始,先做个简单的XML,如下
<PEOPLE>
<NAME>ZHANGSAN</NAME>
<AGE>18</AGE>
<SEX>MAN</SEX>
</PEOPLE>
那么这个在iOS里要如何生成呢?
DDXMLElement *peopleElement = [DDXMLElement elementWithName:@"PEOPLE"];
DDXMLNode *peopleID = [DDXMLNode attributeWithName:@"ID" stringValue:@"123456"];
[peopleElement addAttribute:peopleID];
DDXMLElement *nameElement = [DDXMLElement elementWithName:@"NAME" stringValue:@"张三"];
DDXMLElement *ageElement = [DDXMLElement elementWithName:@"AGE" stringValue:@"18"];
DDXMLElement *sexElement = [DDXMLElement elementWithName:@"SEX" stringValue:@"MAN"];
[peopleElement addChild:nameElement];
[peopleElement addChild:ageElement];
[peopleElement addChild:sexElement];
DDXMLDocument *peopleDocument = [[DDXMLDocument alloc] initWithXMLString:peopleElement.XMLString options:0 error:nil];
NSString *path = [[NSBundle mainBundle].resourcePath stringByAppendingPathComponent:@"people.xml"];
[[peopleDocument XMLData] writeToFile:path atomically:YES];
这样在指定路径下就能看到people.xml文件了
3.总结
然后我们来分析下,DDXMLNode是节点,DDXMLElement是元素节点,DDXMLDocument是文档。
创建元素节点的时候使用DDXMLElement即可,给元素节点添加子节点使用addChiled: 方法,给元素节点添加属性使用 addAttribute: 方法。
最后用XXDMLDocument将元素节点包装起来即可,这样一个简单的XML文件就创建完成了。
其他更多使用方法可以查看头文件。