当前位置:编程学习 > wap >>

关于NSXMLParser加载XML后,无法解析的问题



- (void)viewDidLoad
{
    [super viewDidLoad];
    NSString *myurlString = @"http://tuxun.vicp.cc:8999/scq/ZfjlReader.jsp";
    NSURL *url = [[NSURL alloc] initWithString:myurlString];
    NSXMLParser *xmlRead = [[NSXMLParser alloc] initWithContentsOfURL:url];//初始化NSXMLParser对象
    [xmlRead setDelegate:self];//设置NSXMLParser对象的解析方法代理
    BOOL success = [xmlRead parse];//调用代理解析NSXMLParser对象,看解析是否成功

}   



#pragma mark NSMXLParser Delegate Methods
- (void)parser:(NSXMLParser *)parser 
didStartElement:(NSString *)elementName 
  namespaceURI:(NSString *)namespaceURI
 qualifiedName:(NSString *)qName 
    attributes:(NSDictionary *)attributeDict
{
    NSLog(@"Started parsing %@", elementName);
    
}
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string 

    NSLog(@"Found: %@", string); 
}  


上面的方法我写在了viewDidLoad里。但是委托方法没有执行。。这是怎么回事? NSLog没有打出东西,断点测了也没有进入这个方法。。。请问怎么回事? --------------------编程问答-------------------- 类声明中<NSXMLParserDElegate> 加了吗 --------------------编程问答-------------------- 加了,还是不行。。。委托方法不执行。。 --------------------编程问答-------------------- 急救啊~~~有没有了解啊~~~ --------------------编程问答-------------------- 没人知道么?救命~~~
--------------------编程问答-------------------- 应该和你你解析的xml文档编码有一定关系 --------------------编程问答-------------------- 楼主你确定NSXMLParser *xmlRead = [[NSXMLParser alloc] initWithContentsOfURL:url];
返回后,网络上的xml文件被正确读取了? --------------------编程问答-------------------- 如果正确读到了xml文件,那么解析过程很有可能出错了,
你加上一个读取错误的回调,看看是不是进去了。 --------------------编程问答-------------------- 首先你设置了bool了查看下bool的状态..看看是不是成功了?!
另外就是你的这个连接地址是不是一个xml,如果不是就是要想服务器请求一个xml下来,然后在做xml的解析...
希望能帮到你.. --------------------编程问答-------------------- 解析的声明出错了,应该这样写:
先发一个ASIHTTPRequest 请求,
然后在他的请求结束的方法中调用
解析方法并且解析时数据应该为NSData的类型 --------------------编程问答--------------------     NSString *myurlString = @"http://tuxun.vicp.cc:8999/scq/ZfjlReader.jsp";
    NSURL *url = [[NSURL alloc] initWithString:myurlString];
    NSData *data = [NSData dataWithContentsOfURL: url];
    NSXMLParser *xmlRead = [[NSXMLParser alloc] initWithData:data];
    [xmlRead setDelegate:self];
    BOOL success = [xmlRead parse]
    if(success) {NSLog(@"解析成功");} else {NSLog(@"解析失败");} --------------------编程问答-------------------- 一般用第三方的解析,会好一些,如GDataXML
补充:移动开发 ,  iPhone
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,