【问题标题】:parse xml into UITableView将 xml 解析为 UITableView
【发布时间】:2013-04-17 15:40:20
【问题描述】:

我的服务器上有一个 XML 文件,我需要将它解析到我的 iOS 应用程序中,然后我需要将它放入 UITableView。我的 XML 如下所示:

<plan>
    <action>
        <id>1</id>
        <name>item 1</name>
    </action>
    <action>
        <id>2</id>
        <name>item 2</name>
    </action>
    <action>
        <id>3</id>
        <name>item 3</name>
    </action>
</plan>

我需要将该&lt;item&gt; 标记的每个实例都提取到表格视图中。

谁能告诉我怎么做?

非常感谢。

【问题讨论】:

    标签: ios xml parsing uitableview


    【解决方案1】:

    Apple 提供了一个示例,其中可能包含您需要的内容,该项目名为 LazyTableImages,您可以找到它here

    此示例将执行以下步骤:

    1. 通过调用 NSXMLParser 的委托方法来解析内容
    2. 将解析后的数据加载到 ViewController 中
    3. 重新加载 UITableView 数据以显示从 XML 中提取的内容

    【讨论】:

      【解决方案2】:

      您必须使用 NSXMLParser 来解析您的 XML 文件,请参阅this。或者试试this

      【讨论】:

        【解决方案3】:

        例子:

        #import <Foundation/
        Foundation.h>
        
        @interface Parser : NSObject <NSXMLParserDelegate>
        {
            NSXMLParser *parser;
            NSMutableString *element;
            NSString *tag;
        }
        
        @end
        //initalization of parser
        -init {
           if(self == [super init]) {
                  //pass in your xml file/code here here.
                  parser = [[NSXMLParser alloc]
        initWithContentsOfURL:[NSURL fileURLWithPath:[[NSBundle mainBundle]
        pathForResource:@"Sample" ofType: @"xml"]]];
                  [parser setDelegate:self];
                  [parser parse];
           }      
           return self;
        }
        //start parsing
        - (void)parser:(NSXMLParser *)parser
        didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI
        qualifiedName:(NSString *)qualifiedName attributes:(NSDictionary
        *)attributeDict {
        
        NSLog(@"Started
        Element %@", elementName);
              element = [NSMutableString
        string];
        
        }
        
        // end parsing
        - (void)parser:(NSXMLParser *)parser
        didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI
        qualifiedName:(NSString *)qName {
        
              if([elementName isEqualToString:@"name"]
                tag = element;
        
        }
        
        save the string
        - (void)parser:(NSXMLParser *)parser
        foundCharacters:(NSString *)string 
        
         if(element == nil)
           element = [[NSMutableString
        alloc] init];
           [element appendString:string];
        }
        

        希望这会有所帮助...

        【讨论】:

          猜你喜欢
          • 2015-05-30
          • 2014-01-06
          • 1970-01-01
          • 2018-10-21
          • 1970-01-01
          • 1970-01-01
          • 2018-06-14
          • 2011-10-08
          • 2013-02-20
          相关资源
          最近更新 更多