XML常用操作
来源:互联网 发布:网络推广专员的kpi 编辑:程序博客网 时间:2024/05/20 03:07
1.创建XML文件
- //创建XML文件
- -
(NSXMLDocument *)createXMLDocument:(NSString *)rootName{ -
NSLog(@"%@ with rootName %@", NSStringFromSelector(_cmd), rootName); -
NSXMLElement *root = (NSXMLElement *)[NSXMLNode elementWithName:rootName]; -
[root addAttribute:[NSXMLNode attributeWithName:@"version" stringValue:@"1.0"]]; -
NSXMLDocument *xmlDoc = [[NSXMLDocument alloc] initWithRootElement:root]; -
[xmlDoc setVersion:@"1.0"]; -
[xmlDoc setCharacterEncoding:@"UTF-8"]; -
[xmlDoc setRootElement:root]; -
-
return [xmlDoc autorelease]; - }
2. 装载XML文件
- -
(NSXMLDocument *)loadXMLDocument:(NSString *)xmlFilePath{ -
assert(xmlFilePath); -
NSXMLDocument *xmlDoc = nil; -
NSError *error = nil; -
@try { -
NSURL *fileURL = [NSURL fileURLWithPath:xmlFilePath]; -
if (fileURL == nil) { -
return nil; -
} -
xmlDoc = [[NSXMLDocument alloc] initWithContentsOfURL:fileURL options:NSXMLDocumentTidyXML error:&error]; -
} -
@catch (NSException * e) { -
-
} -
@finally { -
return [xmlDoc autorelease]; -
} - }
3. 保存XML文件
- -
(BOOL) saveXMLFile:(NSString *)destPath :(NSXMLDocument *)xmlDoucment{ -
if (xmlDoucment == nil) { -
return NO; -
} -
-
if ( ! [[NSFileManager defaultManager] fileExistsAtPath:destPath]) { -
if ( ! [[NSFileManager defaultManager] createFileAtPath:destPath contents:nil attributes:nil]){ -
return NO; -
} -
} -
-
NSData *xmlData = [xmlDoucment XMLDataWithOptions:NSXMLNodePrettyPrint]; -
if (![xmlData writeToFile:destPath atomically:YES]) { -
NSLog(@"Could not write document out..."); -
return NO; -
} -
-
return YES; - }
4. 生成CData节点
- -
(NSXMLNode *)generateCDataNode:(NSString *)value { - <span
style="white-space:pre"> </span>NSXMLNode *cdataNode = [[NSXMLNode alloc] initWithKind:NSXMLTextKind options:NSXMLNodeIsCDATA]; - <span
style="white-space:pre"> </span>[cdataNode setStringValue:value]; - <span
style="white-space:pre"> </span> - <span
style="white-space:pre"> </span>return [cdataNode autorelease]; - }
可以像下面这样使用:
- NSXMLElement
*urlNode = [NSXMLElement elementWithName:@"Setting"]; -
NSXMLNode *cdataNode = [self generateCDataNode:dmgFileName]; -
[urlNode addAttribute:[NSXMLNode attributeWithName:@"name" stringValue:name]]; -
[urlNode addAttribute:[NSXMLNode attributeWithName:@"type" stringValue:type]]; -
[urlNode addChild:cdataNode];
生成的Xml节点如下:
- <Setting
name="OutputFileName" type="string"><![CDATA[mac-data-recovery_full737.dmg]]></Setting>
- php操作xml,xml 常用
- XML常用操作
- XML常用操作之一
- XML常用操作之一
- XML常用操作
- XML常用操作
- XML常用操作
- XML C#常用操作
- xml 常用操作
- XML 常用操作
- TinyXml 操作XML 常用操作
- Flex XML/XMLList 常用操作
- Flex XML/XMLList 常用操作
- xml中的常用操作示例
- Flex XML/XMLList 常用操作
- Flex XML/XMLList 常用操作
- Flex4 XML/XMLList 常用操作
- 常用的操作xml文档的方法
- C strcmp
- CSS框模型中关于外边距(margin)折叠的情况
- 内存屏障与JVM并发
- 字符串逆转
- Linux 的虚拟文件系统(强烈推荐)
- XML常用操作
- xcode break on exception
- 监听短信
- C++虚函数表面试汇总
- obc类的定义
- 学习c/c++的50个好网站
- Jocky
- PBR(策略路由)的几种使用方式
- 二叉搜索树(BST)demo