将XML数据解析为NSMutableArray iOS - iPhone [英] Parsing XML data to NSMutableArray iOS - iPhone

查看:107
本文介绍了将XML数据解析为NSMutableArray iOS - iPhone的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是XML数据:

<Categorys> 
    <Category>  
        <categoryId>25</categoryId>  
            <categoryName>My Photos</categoryName>                                  
                <categoryDescription>Description</categoryDescription>      
            <categoryIconPath>7.jpg</categoryIconPath>      
            <userId>2</userId>  
            <categoryStatus>ON</categoryStatus>  
        <publicPrivate>Private</publicPrivate>
    </Category>
......more categories
<Categorys>

这里我要获得< categoryName> 值到我的 NSMutableArray categList

Here I want to get the <categoryName> values into my NSMutableArray categList.

我使用的代码是:

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

    if ( [elementName isEqualToString:@"categList"]) {
        // addresses is an NSMutableArray instance variable
        if (!categList)
            categList = [[NSMutableArray alloc] init];
        return;
    }

    NSLog(@"StartedElement %@", elementName);

    element = [NSMutableString string];

}


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

    if(element == nil)

        element = [[NSMutableString alloc] init];

        [element appendString:string];

}

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

    NSLog(@"Found an element named: %@ with a value of: %@", elementName, element);

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

        NSLog(@"\n\n\nfound::::::::::::::: %@", element);

        category = element;

        NSLog(@"category:::: %@", category);

    }

    [categList addObject:element];
    NSLog(@"categList*************** %@", categList);
}

但我没有在中获取类别名称NSMutableArray categList

我的代码有什么问题? :(

Whats wrong in my code? :(

谢谢

推荐答案

嘿你可以用 XMLReader 但它将返回 NSDictionary

Hey You can use XMLReader but it will return NSDictionary.

以下代码演示 XMLReader获取NSDictionary

在您的文件中导入 XMLReader

#import "XMLReader.h"

然后使用以下方法获取 NSDictionary 。您必须将 XML 传递给 NSString

Then use following method to get NSDictionary. Where you have to pass your XML as NSString .

NSDictionary* xmlDict = [XMLReader dictionaryForXMLString:theXML error:&er];

这篇关于将XML数据解析为NSMutableArray iOS - iPhone的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆