IOS xml 与NSDictionary 互相转换

引言:

在ios中经常遇到 xml文件或字符串 转换成NSDictionary;

需求:

web服务端请求和返回的数据格式为xml;需根据解析xml文件动态生成控件;表单可能填值并需临时保存;一个表单就是<a/>包含内容,表单只要id,name就行;

如果表单填写值,,需再<a/>里添加value。

<a>

<f>1</f> <!–id–>

<n>2ewew</n> <!–名字–>

<q>2ewew</q> <!–验证–>

</a>

<a/>

………………

参考https://codeload.github.com/nicklockwood/XMLDictionary/zip/master

并在XMLDictionary.m文件找到innertext并修改如下:

– (id)innerText{ id text = self[XMLDictionaryTextKey]; if ([text isKindOfClass:[NSArray class]]) { return [text componentsJoinedByString:@"\n"]; } else { //判断value值是否为空 if ([(NSString *)text length]==0) { return @""; }else return text; }}

以上修改后 不管1、<a><f><t><t/><f/><a>还是2、<a><f><t>4424<t/><f/><a/>

xml 与NSDictionary 都可以互相转换;

否则

出现如下情况:

<?xml version="1.0" encoding="utf-8"?><transactions><transaction><head></head></transaction></transactions>1、

dictionary: { "__name" = transactions;}XMLString==========<transactions/>======修改后

dictionary: { "__name" = transactions; transaction = { head = ""; };}MLString==========<transactions><transaction><head></head></transaction></transactions>======

参考https://codeload.github.com/nicklockwood/XMLDictionary/zip/master

源码代码地址:

你的选择是做或不做,但不做就永远不会有机会

IOS xml 与NSDictionary 互相转换

相关文章:

你感兴趣的文章:

标签云: