iOS 用GDataXMLNode创建和解析XML
2015-06-05 15:06
603 查看
原文地址:http://blog.csdn.net/gf771115/article/details/7718403
NSError *error;
// NSString *path = [[NSBundle mainBundle] pathForResource:@"testxml" ofType:@"xml"];
// NSString *content = [[NSString alloc] initWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
//// NSLog(content);
// GDataXMLDocument *document = [[GDataXMLDocument alloc] initWithXMLString:content options:1 error:&error];
//创建XML
GDataXMLElement *rootElement = [GDataXMLNode elementWithName:@"request"];
GDataXMLElement *element = [self getElementWithName:@"peter" withAge:@"24" withSex:@"male"withAttribute:@"0"];
[rootElement addChild:element];
element = [self getElementWithName:@"Green" withAge:@"26" withSex:@"female" withAttribute:@"1"];
[rootElement addChild:element];
element = [self getElementWithName:@"Susan" withAge:@"28" withSex:@"female" withAttribute:@"1"];
[rootElement addChild:element];
GDataXMLDocument *document = [[GDataXMLDocument alloc] initWithRootElement:rootElement];
NSData *data = [document XMLData];
NSString *content = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(content);
if(error){
NSLog([error localizedDescription]);
}else{
//解析XML
GDataXMLElement *root = [document rootElement];
for (int i=0; i <[rootElement childCount]; i++) {
GDataXMLElement *element = [root childAtIndex:i];
NSLog(@"Element Name = %@", element.name);
NSLog(@"Type = %@", [[element attributeForName:@"type"] stringValue]);
for (int j=0; j<[element childCount]; j++) {
GDataXMLElement *subItem = [element childAtIndex:j];
NSLog(@"Sub Name = %@", subItem.name);
NSLog(@"Sub value = %@", subItem.stringValue);
}
}
}
NSError *error;
// NSString *path = [[NSBundle mainBundle] pathForResource:@"testxml" ofType:@"xml"];
// NSString *content = [[NSString alloc] initWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
//// NSLog(content);
// GDataXMLDocument *document = [[GDataXMLDocument alloc] initWithXMLString:content options:1 error:&error];
//创建XML
GDataXMLElement *rootElement = [GDataXMLNode elementWithName:@"request"];
GDataXMLElement *element = [self getElementWithName:@"peter" withAge:@"24" withSex:@"male"withAttribute:@"0"];
[rootElement addChild:element];
element = [self getElementWithName:@"Green" withAge:@"26" withSex:@"female" withAttribute:@"1"];
[rootElement addChild:element];
element = [self getElementWithName:@"Susan" withAge:@"28" withSex:@"female" withAttribute:@"1"];
[rootElement addChild:element];
GDataXMLDocument *document = [[GDataXMLDocument alloc] initWithRootElement:rootElement];
NSData *data = [document XMLData];
NSString *content = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(content);
if(error){
NSLog([error localizedDescription]);
}else{
//解析XML
GDataXMLElement *root = [document rootElement];
for (int i=0; i <[rootElement childCount]; i++) {
GDataXMLElement *element = [root childAtIndex:i];
NSLog(@"Element Name = %@", element.name);
NSLog(@"Type = %@", [[element attributeForName:@"type"] stringValue]);
for (int j=0; j<[element childCount]; j++) {
GDataXMLElement *subItem = [element childAtIndex:j];
NSLog(@"Sub Name = %@", subItem.name);
NSLog(@"Sub value = %@", subItem.stringValue);
}
}
}
相关文章推荐
- LeetCode_19---Remove Nth Node From End of List
- 【NodeJS】---express配置ejs mongoose route等
- nodejs安装及环境配置
- leetcode 19 -- Remove Nth Node From End of List
- nodePPT 这可能是迄今为止最好的网页版PPT
- NodeJs安装教程
- 用 node 实现仿微信风格的 token 获取接口
- Node.js 学习资源总结
- Use Node.js DDP Client on Arduino Yun to Access Meteor Server
- Reverse Nodes in k-Group
- nodejs(npm)——创建全局链接
- 一个强大的UI node 抽象
- nodejs——require单次加载
- nodejs创建包(建立nodejs工程)
- nodejs exports和module.exports区别
- Reverse Nodes in k-Group
- DrawNode遮罩
- first step of kubernetes on ubuntu for single node
- drupal node机制理解
- Populating Next Right Pointers in Each Node