关于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