HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了iphone – 如何解析简单的xml大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_419_4@
<NewDataSet>
      <Table>
        <CaseId>743</CaseId>
        <PartyId>11100550</PartyId>
        <CartId>18</CartId>

      </Table>
      <Table>
        <CaseId>742</CaseId>
        <PartyId>11100549</PartyId>
        <CartId>1148</CartId>
        <BusinessID>19</BusinessID>

      </Table>
    </NewDataSet>


        NSData* data = [xmlResponseData dataUsingEncoding:NSUTF8StringEncoding];

    //   NSXMLParser *XMLparser = [[NSXMLParser alloc] initWithData:data];
    //    [XMLparser setDelegate:self];

        BOOL success;

        if (XMLparser) // addressParser is an NSXMLParser instance variable
            [XMLparser release];

        XMLparser = [[NSXMLParser alloc] initWithData:data];
        [XMLparser setDelegate:self];
        [XMLparser setShouldResolveExternalEntities:YES];

        success = [XMLparser parse];   // return value not used
        // if not successful,delegate is informed of error 

       if(success)
            NSLog(@"Sucess Parsed");
        else
            NSLog(@"Error Error Error!!!");

    //  NSLog(@"Parsed string : %@",valueForItem);

    }

    - (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName 
      namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName 
        attributes:(NSDictionary *)attributeDict {

        if([elementName isEqualToString:@"NewDataSet"]) {
            caseID_List = [[NSMutableArray alloc]init];
        }
        NSLog(@"Processing Element: %@",elementName);

        if ([elementName isEqualToString:@"CaseId"]) {

        }

    }

    - (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string { 

        if(!currentElementValue) 
            currentElementValue = [[NSMutableString alloc] initWithString:string];
        else
            [currentElementValue appendString:string];

        NSLog(@"Processing Value: %@",currentElementValue);


    }

    - (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName 
      namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {

      if([elementName isEqualToString:@"NewDataSet"]) 
return;
    }

我只需要CaseId来存储给定的xml.任何人都可以通过这个简单的解析来建议我!

对我来说它循环!并获得所有细节

@H_419_4@

解决方法

使用下面的代码.其中Table是NSObject类,CaseId,PartyId,CartId作为此类中的属性.如果你有xl url刚刚用URl调用loadXMLByURL方法.解析后你会得到TableArray中的每个对象都有这个表具有上述属性的对象.

NSMutableString *currentNodeContent;
NSXMLParser     *parser;
Tweet           *currentTweet;
bool            isStatus;

-(id) loadXMLByURL:(NSString *)urlString
{
    _tweets         = [[NSMutableArray alloc] init];
    NSURL *url      = [NSURL URLWithString:urlString];
    NSData  *data   = [[NSData alloc] initWithContentsOfURL:url];
    parser          = [[NSXMLParser alloc] initWithData:data];
    parser.delegate = self;
    [parser parse];
    return self;
}

- (void) parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
    currentNodeContent = (NSMutableString *) [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
}

    - (void) parser:(NSXMLParser *)parser didStartElement:(NSString *)elementname namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
    {
        if ([elementname isEqualToString:@"Table"]) 
        {
            currentTable = [Table alloc];
                isStatus = YES;
        }
    }

- (void) parser:(NSXMLParser *)parser didEndElement:(NSString *)elementname namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
    if (isStatus) 
    {
        if ([elementname isEqualToString:@"CaseId"]) 
        {
            currentTable.CaseId = currentNodeContent;
        }
        if ([elementname isEqualToString:@"PartyId"]) 
        {
            currentTable.PartyId = currentNodeContent;
        }
        if ([elementname isEqualToString:@"CartId"]) 
        {
            currentTable.CartId = currentNodeContent;
        }

    }
    if ([elementname isEqualToString:@"Table"]) 
    {
        [self.tableArray addObject:currentTable];
        currentTable = nil;
        currentNodeContent = nil;
    }
}

如果您有任何疑问,请告诉我.

@H_419_4@ @H_419_4@
@H_419_4@
@H_419_4@
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

猜你在找的iOS相关文章

目前,苹果开发者账号可分为三种类型:个人、公司、企业,且三者的费用以及权限等不尽相同。 1.个人账号 费用:99 美元/年 协作人数:仅限开发者自己 不需要填写公司的邓百氏编码( D-U-N-S Nu
Symbol Value Meaning NULL (void *)0 literal null value for C pointers nil (id)0 literal null value for Objective-C objects nil:对象为空定义某一实例对象为空值。例如:NSObject* obj = nil;if (...
Android篇环境要求1 安装winrar,然后配置winrar的环境变量,要用到winrar指令2 配置java的bin目录到环境变量,要用到jarsigner指令重签名步骤说明:1 从母包复制一个子包2 删除子包的签名文件META-INFO3 根据需要修改子包的文件,比如渠道号文件之类4 重签名子包对应的python脚本import os...
转载注明出处:https://blog.csdn.net/joosonmao/article/details/21172835刚接触iOS开发的人难免会对苹果的各种证书、配置文件等不甚了解,可能你按照网上的教程一步一步的成功申请了真机调试,但是还是对其中的缘由一知半解。这篇文章就对Certificate、Provisioning Profile等做个总结。 1.概念介绍如果你拥有一个开...
转载注明出处:https://www.jianshu.com/p/567d3b730608iOS armv7, armv7s, arm64区别与应用32位、64位配置历程2015年2月1日不允许不支持arm64的应用的提交; iOS10发布后,如果你的应用中使用到了32位的类、库,没有相应支持64位机型的库,则首次启动后会弹窗式提示:“ xxx可能使iPhone变慢...”; iO...
iOS9以下的自己越狱后,通过PP助手备份到电脑或者直接通过pp助手直接下载 
转载注明出处:https://www.cnblogs.com/mtystar/p/6082363.html0x01 静态库与动态库的区别1.静态库和动态库的存在形式上的区别静态库 .a .framework 动态库 .dylib (在Xcode 8里面,看到后缀为.tbd的库,它的本质都是.dylib文件) .framework 2.静态库和动态库在使用上的区别...
终端中运行xcodebuild -showsdks

大佬总结

以上是大佬教程为你收集整理的iphone – 如何解析简单的xml全部内容,希望文章能够帮你解决iphone – 如何解析简单的xml所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: