标题
不用 xml 库解码 xml 的方法[合集]
clq
浏览(569) +
2018-09-28 10:11:24 发表
编辑
关键字:
[2018-09-28 11:44:46 最后更新]
不用 xml 库解码 xml 的方法[合集]
我个人非常讨厌用 xml 库,不过我又觉得 xml 确实要比 json 这些更好. 所以在一些不是很正式的场合我使用了很多字符串的处理方法来处理 xml ,
大多数情况下,其实它们也很有效,而且 xml 库相互兼容性其实有时也是很大的问题,所以直接处理字符串并不完全是坏事.
clq
2018-09-28 11:44:46 发表
编辑
objectc 版本
//取类似于 xmpp 消息中的一个 attrib 节点值//可以直接从一个完整的 xml 字符串中来取
+(NSString *)GetXmlAttr:(NSString *)s aname:(NSString *)aname
{
////NSString * from = [Functions get_value:s b_sp1:@" from=" e_sp1:@" "]; ll//发送者//from 这样取不对,因为不一定有空格
//有可能是得到 from="t2@127.0.0.1/Spark"><body>hhh</body> 这样的字符串,既然有可能是结尾,那么可以取一下 "from=" 和 ">"
//之间的字符串,两者最小的那个应该就是了,也可以判断,如果有 ">" 字符在里面那就是超过了
NSString * sp1 = [Functions AddString: aname, @"=", NULL]; //第一个分隔符比较简单,一般就是有个等于号在后面,最多再处理多个空格就行了
NSString * value = [Functions get_value:s b_sp1:sp1 e_sp1:@" "];
//如果有 ">" 符号的话就说明不正确
if ([Functions FindStr:value substr:@"/>"]) value = [Functions get_value:s b_sp1:sp1 e_sp1:@"/>"];
//如果有 ">" 符号的话就说明不正确
if ([Functions FindStr:value substr:@">"]) value = [Functions get_value:s b_sp1:sp1 e_sp1:@">"];
return value;
}//
NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.