bluetooth99 2013-04-02 02:27 采纳率: 0%
浏览 2248

解析远程xml文件结果为空

解析远程的XML文件,然后将值保存到磁盘上。然后下面的步骤:

从服务器下载XML文件:

<INCIDENTTYPES>
    <INCIDENT FORMNAME="first" TEXT="First incident">
        <TYPE>Type1</TYPE>
        <TYPE>Type2</TYPE>
        <TYPE>Type3 Tag</TYPE>
        <TYPE>Type4 Tag</TYPE>
        <LOCATION>Council</LOCATION>
        <LOCATION>Domestic</LOCATION>
        <LOCATION>Commercial</LOCATION>
    </INCIDENT>
    <INCIDENT FORMNAME="second" TEXT="Second incident">
        <TYPE>Second type</TYPE>
        <TYPE>Second/first type</TYPE>
        <TYPE>Second3</TYPE>
        <LOCATION>Council</LOCATION>
        <LOCATION>Domestic</LOCATION>
        <LOCATION>Commercial</LOCATION>
    </INCIDENT>
</INCIDENTTYPES>

然后用RaptureXML解析XML文件:

RXMLElement *rootXML = [RXMLElement elementFromXMLData:self.connectionData];            
    [rootXML iterate:@"INCIDENT" usingBlock: ^(RXMLElement *incidents) {

        if([[incidents attribute:@"FORMNAME"] isEqualToString:@"first"]){
            NSArray *listArray = [NSArray array];
            listArray = [incidents children:@"TYPE"];

            IncidentData *iData = [[IncidentData alloc] init];
            [iData.type setValue:listArray forKey:@"type"];

            NSData *data = [NSKeyedArchiver archivedDataWithRootObject:iData];
            [self.userDefault setObject:data forKey:@"firstObject"];
        }
    }

IncidentData 类如下:

 #import "IncidentData.h"
    @implementation IncidentData
    - (id)initWithCoder:(NSCoder *)aDecoder{
        if (self = [super init]) {
//self.type is an array
            self.type = [aDecoder decodeObjectForKey:@"type"];
        }
        return self;
    }
    - (void)encodeWithCoder:(NSCoder *)aCoder{
        [aCoder encodeObject:self.type forKey:@"type"];
    }
    @end

加载数据如下:

NSData *dd = [self.userDefault objectForKey:@"firstObject"];
IncidentData *items = (IncidentData *)[NSKeyedUnarchiver unarchiveObjectWithData:dd];
NSArray *typeArray = [items.type objectAtIndex:0];
NSLog(@"Incident type : %@", typeArray);

但是typeArray返回空值。
请高手帮忙解答,谢谢

  • 写回答

1条回答

  • shiter 人工智能领域优质创作者 2015-01-14 14:49
    关注

    可能是根本没有获取到内容吧。

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器