菜单

xml文件的深入分析方法

2020年3月26日 - 通讯产品

摘要即时通信云网易云信于二零一八年06月07日发布5.5版,本次更新为机要版本更新,实际情况见随笔内容。宣布的本子此番发表的版本号为
5.5版,更新时间为:二零一八年04月07日。iOS
更新内容新扩充NIMSDK设置新扩张NOS财富气象布局字段@interface NIMSDK :
NSObject@property (nonatomic,strong卡塔尔国 NSMutableDictionary
*sceneDict;@end能源管理新添对现象帮助的能源上传递口@protocol
NIMResourceManager <NSObject>- (void卡塔尔upload:(NSString *)filepath
scene:(NSString *卡塔尔(قطر‎scene progress:(nullable
NIMHttpProgressBlock卡塔尔(قطر‎progress completion:(nullable
NIMUploadCompleteBlock卡塔尔国completion;@end图片实例对象新添场景伊始化接口@interface
NIMImageObject : NSObject- (instancetype卡塔尔国initWithImage:(UIImage*)image
scene:(NSString *)scene;- (instancetype)initWithFilepath:(NSString
*)filepath scene:(NSString *)scene;-
(instancetype)initWithData:(NSData *)data extension:(NSString
*)extension scene:(NSString
*State of Qatarscene;@end录像实例对象新增添场景初阶化接口@interface NIMVideoObject :
NSObject- (instancetype卡塔尔(قطر‎initWithSourcePath:(NSString *)sourcePath
scene:(NSString *新葡的京集团3522vip,)scene;- (instancetype)initWithData:(NSData *)data
extension:(NSString *)extension scene:(NSString
*卡塔尔scene;@end语音实例对象新扩大场景起先化接口@interface NIM奥迪oObject :
NSObject- (instancetype卡塔尔initWithSourcePath:(NSString *)sourcePath
scene:(NSString *)scene;- (instancetype)initWithData:(NSData *)data
extension:(NSString *)extension scene:(NSString
*卡塔尔国scene;@end文件实例对象新增添场景初叶化接口@interface NIMFileObject :
NSObject- (instancetype卡塔尔initWithSourcePath:(NSString *)sourcePath
scene:(NSString *)scene;- (instancetype)initWithData:(NSData*)data
extension:(NSString*)extension scene:(NSString
*卡塔尔(قطر‎scene;@end语音实例对象新添音频MD5字段@interface NIM奥迪(AudiState of QataroObject :
NSObject@property (nullable,nonatomic, copy, readonlyState of Qatar NSString
*md5;@end图片实例对象新扩大图片MD5字段@interface NIMImageObject :
NSObject@property (nullable,nonatomic, copy, readonly卡塔尔 NSString
*md5;Android 更新内容新添1. NOS场景构造2. 出殡和下葬音讯时能够钦赐 NOS 场景3.
上传文件时得以钦点 NOS 场景Windows(PC卡塔尔 SDK
更新内容新增加文件上传扩张“场景”音讯使用5.5本子及其以上SDK(PC端、移动端、web端)达成的客商端(简单的称呼:5.5+
SDK),向利用PC5.4及其以下版本SDK实现的顾客端(简单的称呼:PC 5.4-
SDK),发送图片消息且客商端开启下载缩略图功效时(即:5.5+ SDK 向 PC 5.4-
SDK(preloadattach=trueState of Qatar,发送图片音信State of Qatar,采纳到的缩略图片可能是原图。提出进步SDK到5.5及其以上版本或许在UI层对缩略图做缩放处理。本地数据文件(*.db卡塔尔国备份作用修复Windows
x64 下http库大概孳生的崩溃Web SDK
更新内容新扩充IM,chatroom起首化增Gavin件存款和储蓄配置IM,chatroom发送文书新闻扩展文件存款和储蓄配置下载地址请从以下官方网址地址下载:

*  @param elementName      成分名称

摘要即时通信云博客园云信于二〇一八年0二月04日公告4.6版,此次更新为根本版本更新,详细的情况见作品内容。宣布的版本此次发布的版本号为
4.6版,更新时间为:二零一八年0八月04日。iOS
更新内容新扩大新添在后台自动实践重连开关@interface NIMSDKConfig :
NSObject/** * 是不是幸免后台重连 * @discusssion 默感觉NO。即暗中认可情形下,当程序退到后台断开连接后,假诺 App 仍可以运营,SDK
将继续实行自动重连机制。设置为 YES
后在后台将不自动重连,重连将被推迟到前台进行。 *
独有独特客户场景才需求此设置,无明显原因请勿设置。 */@property
(nonatomic,assign卡塔尔(قطر‎ BOOL
reconnectInBackgroundStateDisabled;@end新扩张聊天室历史记录拉取能够按类型筛选字段/**
* 检索服务器历史音讯选项 (服务器卡塔尔国 */@interface
NIMHistoryMessageSearchOption : NSObject/** * 查询的新闻类型 *
@discusssion 音讯类型组合,默以为 nil ,寻觅全类型。
此参数只对闲聊室会话有效 */@property (nonatomic,copy)
NSArray<NSNumber *>
*messageTypes;@end易盾反垃圾,协理对单条音信配置相应的反垃圾业务法规,NIMAntiSpamOption新添字段
businessId。/** * 反垃圾选项 * @discussion
这几个选项用于配置易盾反垃圾,设置 enabled 为 YES (默感觉 NO)后该新闻进投递到易盾系统开展反垃圾检测 (必要开启易盾服务)
*/@interface NIMAntiSpamOption : NSObject/** *
客商在易盾配置的附加反垃圾的作业ID */@property
(nullable,nonatomic,copy) NSString
*businessId;@end新扩张闲谈室队列权限改良,NIMChatroomUpdateTag中新添字段
NIMChatroomUpdateTagQueueModificationLevel校正闲聊室缓存顾客增添音信,保障掉线重连后不消灭Android
更新内容新扩展1. 易盾反垃圾帮忙对单条消息配置相应的反垃圾业务准则。2.
骤增协理海外推送 FCM 以至Nokia推送。3. 支撑配置闲聊室队列处理权限。4.
扶助群众管理理员打消别的人音讯。5. 扶持录像消息得到远程缩略图 url。6.
谈天室历史记录拉取可按类型筛选。改换1. 修复HUAWEI偶现崩溃难题。2.
接口改变:List<Nim罗布otInfo> get罗布otInfo(List<String>
accounts卡塔尔;改为List<Nim罗布otInfo>
get罗布otInfoList(List<String>
accounts卡塔尔国;3.MessageNotifierCustomization新扩张音信撤回布告文案自定义接口:/**
* 定制音讯撤回提示文案 * @param revokeAccount 撤回操我账号 * @param
item 被退回的音信 * @return */String makeRevokeMsgTip(String
revokeAccount, IMMessage
item卡塔尔;4.ChatRoomPartClearAttachment附属类小零器件内容更换getContentMap(State of Qatar再次回到由Map<String,Object>变为Map<String,
String>getChatRoomQueueChangeType(卡塔尔重返ChatRoomQueueChangeType.PARTCLEALacrosseWindows(PC卡塔尔国SDK
更新内容新增加群主或群众管理理员能够撤回别的群成员发送的音信的成效客户配置的对某单条音信此外的反垃圾的事体ID的作用摄像新闻主动获取封面成效NOS域名迁移NOS加快地址,上传、下载地址等统一配置闲聊室历史记录拉取能够按类型筛选成效谈心室队列权限可配备闲聊室更新客户音讯后,断线重连进来闲扯室时,相应音信依然还在的效果与利益Web
SDK
更新内容新增谈天室队列管理权限可配置闲谈室历史记录拉取能够按类型筛选群管理员能够撤回其余人发的消息易盾反垃圾,补助对单条新闻配置相应的反垃圾业务法规改换WebSocket链路若因网络状态倒霉,悄悄被踢,将自动重连,不再由上层做管理WebSocket握手重连优化,废除实例接口下载地址请从以下官方网址地址下载:

return self;

@end

NSArray *stuArray2 = [NSKeyedUnarchiver
unarchiveObjectWithData:stuData];//逆归档

*  @param qName

if (self) {

//获取文件的门道

  何况NSCoding多用来对自定义的类的实体对象进行归档,比如写三个student类

[self.myarrM addObject:dicM];

//开端化学子类

}

self.ID = [aDecoder decodeObjectForKey:@”ID”];

前提必定要导入XMLDictionary第三方库

-(Student *)initWithName:(NSString *)newName and:(NSString *)newID{

GDataXMLDocument *docoment = [[GDataXMLDocument alloc]
initWithData:data options:0 error:nil];

Student类要求实现公约NSCoding,.m文件中是这么的:

//找到文书档案中User成分,起头伊始化词典

self.ID = newID;

#import “GDataXMLNode.h”

@end

*/

NSData *stuData = [NSKeyedArchiver
archivedDataWithRootObject:stuArray];//归档

}

}

//向字典中增添属性成分

//学子类内部的三个属性变量分别转码

NSString *path = [[NSBundle mainBundle] pathForResource:@”person”
ofType:@”xml”];

self.name = [aDecoder decodeObjectForKey:@”name”];

  文书档案剖判发轫 开端化全局的成团

NSLog(@”array2 = %@”,stuArray2);

[dicM setObject:userage forKey:@”age”];

自定义类Student实现了NSCoding公约现在,就能够进行归档转变了,具体得以完成:

}

-(void)encodeWithCoder:(NSCoder *)aCoder{

[dicM setObject:userName forKey:@”name”];

}

/** *  文档拆解剖析结

[aCoder encodeObject:self.name forKey:@”name”];

//将数据调换为data 类型对象

@implementation Student

  NSLog(@”%d”,bol);

@property (nonatomic , retain) NSString *ID;

1.系统自带的剖析方法

-(id)initWithCoder:(NSCoder *)aDecoder{

}

@protocol NSCoding

– (void)encodeWithCoder:(NSCoder *)aCoder;

– (nullable instancetype)initWithCoder:(NSCoder *)aDecoder; //
NS_DESIGNATED_INITIALIZER

@end

    BOOL bol = [parser parse];

}

#import “ViewController.h”

Student *stu1 = [[Student alloc]initWithName:@”124″
and:@”111″];//学子对象stu1

//获取根节点下的节点

and : (NSString *)newID;

}

NSLog(@”data = %@”,stuData);

    NSXMLParser *parser = [[NSXMLParser alloc] initWithData:data];

@interface Student : NSObject@property (nonatomic , retain) NSString
*name;

@property(strong,nonatomic) NSMutableArray *myarrM;

self = [super init];

//获取根节点(Users)

NSCcoding磋商三个必得完毕的不二等秘书诀!

* *  @param parser

self.name = newName;

– (void)parser:(NSXMLParser *)parser didEndElement:(NSString
*)elementName namespaceURI:(nullable NSString *)namespaceURI
qualifiedName:(nullable NSString *)qName

@end

*/

[aCoder encodeObject:self.ID forKey:@”ID”];

for (GDataXMLElement *user in userarr) {

}

{

return self;

[dicM setObject:userID forKey:@”id”];

Student *stu2 = [[Student alloc]initWithName:@”223″
and:@”222″];//学子对象stu2

*  @param namespaceURI

-(Student *)initWithName : (NSString *)newName

-lxml2

NSArray *stuArray = [NSArray arrayWithObjects:stu1,stu2,
nil];//学子对象数组,里面包涵stu1和stu2

* *  @param parser        深入剖析的靶子

在IOS的付出中,小数据量的长久化都用NSUserDefaults来得以达成,可是NSUserDefaults只可以保留NSString,
NSNumber, NSDate, NSArray,
NSDictionary那些数据类型,但基本上时候,咱们会将一个指标实体做长久化的保留,由于不是大量的数量,不会用到sqlite,那么那个时候NSUserDefaults会是很好的选项,其实对象类型能够透过NSCoding的信托方法来贯彻的。

1.在Build Phases目录下,选拔Compile Source(4
items)下拉长的库文件选中后双击

if (self = [super init]) {

@end

//分别把两日本性变量依据重大字张开反败为胜码,最终回到三个Student类的靶子

//初始化data对象

@synthesize name = _name,ID = _ID;

        //钦点xml文件路线

NSCcoding是一个构和,基本上全体的原生的类都以兑现了NSCoding左券,在归档的进度中实行了转码,所以才足以归档成功。

[self.arrM addObject:self.dicM];

}

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图