ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码
当前位置:首页 >> 低调看直播体育app软件下载 >> IOS开发 >> xml文件解析解析以后在RootTableViewController输出

xml文件解析解析以后在RootTableViewController输出

来源:网络整理     时间:2016-03-26     关键词:

本篇文章主要介绍了"xml文件解析解析以后在RootTableViewController输出",主要涉及到方面的内容,对于IOS开发感兴趣的同学可以参考一下: 这是从美团弄得xml文件,地区和经纬度。你点了地区以后 , 就可以查看经纬度 ,因为笔者懒, 有现成的文本框 , 所有偷懒了。 下面是一些枯燥的代码了 。...

xml文件解析解析以后在RootTableViewController输出

这是从美团弄得xml文件,地区和经纬度。

你点了地区以后 ,  就可以查看经纬度 ,因为笔者懒, 有现成的文本框 , 所有偷懒了。

下面是一些枯燥的代码了 。

#import 
#import "RootTableViewController.h"
@interface AppDelegate : UIResponder 

@property (strong, nonatomic) UIWindow *window;

@end

#import "AppDelegate.h"

@interface AppDelegate ()

@end

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    self.window.rootViewC alloc] initWithRootViewController:[[RootTableViewController alloc] initWithStyle:UITableViewStyleGrouped]];
    return YES;
}

#import 
#import "SecondViewController.h"
@interface RootTableViewController : UITableViewController

@property(strong,nonatomic)NSMutableArray *arr;

@property(strong,nonatomic)NSMutableDictionary *dic1;

@property(strong,nonatomic)NSString *str;

@property(strong,nonatomic)NSMutableArray *arrname;

@end

#import "RootTableViewController.h"

@interface RootTableViewController ()

@end

@implementation RootTableViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    self.title=@"城市列表";
    self.arrname=[NSMutableArray array];

    NSURL *url=[NSURL URLWithString:@"http://www.meituan.com/api/v1/divisions?mtt=1.help%2Fapi.0.0.im7coqq1"];
    NSData *data=[NSData dataWithContentsOfURL:url];
    NSXMLParser *parser=[[NSXMLParser alloc]initWithData:data];
    parser.delegate=self;
    BOOL bol=[parser parse];
    NSLog(@"%d",bol);
    [self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"reuseIdentifier"];
}
/**
 *  文档开始解析
 *
 *  @param parser parser
 */
- (void)parserDidStartDocument:(NSXMLParser *)parser
{
    self.arr=[NSMutableArray array];
}
/**
 *  解析完毕
 *
 *  @param parser parser
 */
- (void)parserDidEndDocument:(NSXMLParser *)parser
{
    NSLog(@"%@",self.arr);
}
/**
 *  文档元素  解析开始
 *
 *  @param parser        解析的对象
 *  @param elementName   元素的名称
 *  @param namespaceURI  命名空间
 *  @param qName
 *  @param attributeDict 属性的字典
 */
-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(nullable NSString *)namespaceURI qualifiedName:(nullable NSString *)qName attributes:(NSDictionary *)attributeDict
{

    if ([elementName isEqualToString:@"division"]) {
        self.dic1=[NSMutableDictionary dictionary];
        [self.dic1 setDictionary:attributeDict];

    }
}

/**
 *  文档中元素 解析结束
 *
 *  @param parser       解析的对象
 *  @param elementName  元素的名称
 *  @param namespaceURI 命名空间
 *  @param qName        属性的字典
 */
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(nullable NSString *)namespaceURI qualifiedName:(nullable NSString *)qName
{
    if ([elementName isEqualToString:@"name"]||[elementName isEqualToString:@"latitude"]||[elementName isEqualToString:@"longitude"]) {
        [self.dic1 setObject:self.str forKey:elementName];
    }
    else if ([elementName isEqualToString:@"division"])
    {
        [self.arr addObject:self.dic1];
    }
}
/**
 *  解析文件元素的内容
 *
 *  @param parser 解析对象
 *  @param string 显示的文本内容
 */
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
    self.str=string;
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

#pragma mark - Table view data source

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {

    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

    return self.arr.count;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"reuseIdentifier" forIndexPath:indexPath];

    for (NSDictionary *dic in self.arr) {
        [self.arrname addObject:dic[@"name"]];
    }

    cell.textLabel.text=self.arrname[indexPath.row];
    return cell;
}

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSLog(@"%@",self.arr[indexPath.row]);
    SecondViewController *sec alloc] init];
    secondvc.strweidu=self.arr[indexPath.row][@"latitude"];
    secondvc.strjindu=self.arr[indexPath.row][@"longitude"];
     [self presentViewController:secondvc animated:YES completion:nil];

}

@end

#import "ViewController.h"
#import "RootTableViewController.h"
@interface SecondViewController : ViewController
@property(strong,nonatomic)UILabel *lblname;
@property(strong,nonatomic)UILabel *lblpwd;
@property(strong,nonatomic)UITextField *name;
@property(strong,nonatomic)UITextField  *pwd;
@property(strong,nonatomic)UIButton *buton;
@property(strong,nonatomic)NSString *strweidu;
@property(strong,nonatomic)NSString *strjindu;

@end

#import "SecondViewController.h"

@interface SecondViewController ()

@end

@implementation SecondViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    UIImageView *image=[[UIImageView alloc]initWithFrame:self.view.frame ];
    [image setImage:[UIImage imageNamed:@"15EADA084F41FF349CED23058FD34D0E"]];
    [self.view addSubview:image];
    self.lblname=[[UILabel alloc]initWithFrame:CGRectMake(50, 200, 100, 50)];
    self.lblname.text=@"精度";
    [self.view addSubview:self.lblname];
    self.lblpwd=[[UILabel alloc]initWithFrame:CGRectMake(50, 330, 100, 50)];
    self.lblpwd.text=@"维度";

    [self.view addSubview:self.lblpwd];
    self.name=[[UITextField alloc] initWithFrame:CGRectMake(150, 200, 200, 50)];
    [self.view addSubview:self.name];

        self.name.text =self.strweidu;

    self.name.borderStyle=UITextBorderStyleRoundedRect;
    self.pwd=[[UITextField alloc] initWithFrame:CGRectMake(150, 330, 200, 50)];
    [self.view addSubview:self.pwd];
    self.pwd.text=self.strjindu;
    self.pwd.borderStyle=UITextBorderStyleRoundedRect;
    self.buton=[[UIButton alloc] initWithFrame:CGRectMake(120, 400, 174, 66)];
    self.buton.backgroundColor=[UIColor colorWithRed:0.532 green:1.000 blue:0.161 alpha:1.000];
    self.buton.layer.cornerRadius=10;
    [self.buton setTitle:@"确认" forState:0];
    [self.buton setTitleColor:[UIColor whiteColor] forState:0];
    [self.buton addTarget:self action:@selector(next) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:self.buton];
}
-(void)next
{
    RootTableViewController *root=[[RootTableViewController alloc]init];

        [self presentViewController:root animated:YES completion:nil];
}
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

/*
#pragma mark - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.
}
*/

@end

以上就介绍了xml文件解析解析以后在RootTableViewController输出,包括了方面的内容,希望对IOS开发有兴趣的朋友有所帮助。

本文网址链接:http://www.codes51.com/article/detail_517645.html

相关图片

相关文章