0

我的服务器上有一个 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>

我需要将该<item>标记的每个实例提取到表视图中。

谁能告诉我该怎么做?

非常感谢。

4

3 回答 3

2

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

此示例将执行以下步骤:

  1. 通过调用其委托方法使用 NSXMLParser 解析内容
  2. 将解析后的数据加载到 ViewController
  3. 重新加载 UITableView 数据以显示从 XML 中提取的内容
于 2013-04-17T15:50:22.740 回答
1

你必须使用 NSXMLParser 来解析你的 XML 文件,看这个。或者试试这个

于 2013-04-17T15:54:25.240 回答
0

例子:

#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];
}

希望这可以帮助...

于 2013-04-17T18:35:51.933 回答