我一直在浏览Stackoverflow和其他论坛中的问题,并尝试了几个建议的解决方案,但没有任何作用。我正在使用Xcode 4.0.1和iPhone 4.3模拟器。
我收到的错误:
NSXMLParserPrematureDocumentEndError = 5 //文档意外结束。
这是XML文件:
<?xml version="1.0" encoding="utf-8" ?>
<errorDetails>
<errorCode>15</errorCode>
<errorText>The very special error</errorText>
</errorDetails>
这是主叫代码:
NSURL *xmlUrl = [NSURL fileURLWithPath:@"http://172.16.202.155/results.xml"];
NSXMLParser *xmlDoc = [[NSXMLParser alloc] initWithContentsOfURL: xmlUrl];
XMLParser *parser = [[XMLParser alloc]init];
[xmlDoc setDelegate: parser];
[xmlDoc setShouldProcessNamespaces:NO];
[xmlDoc setShouldReportNamespacePrefixes:NO];
[xmlDoc setShouldResolveExternalEntities:NO];
[xmlDoc parse];
if ([xmlDoc parserError]){
NSLog(@"%@",[xmlDoc parserError]);
}
else NSLog(@"Parsing done!");
链接有效,在webView中可见。
这些是在XMLparser.m中实现的,但似乎从未调用它们。
- (void)parser:(NSXMLParser *)parser
didStartElement:(NSString *)elementName
namespaceURI:(NSString *)namespaceURI
qualifiedName:(NSString *)qualifiedName
attributes:(NSDictionary *)attributeDict
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
- (void)parser:(NSXMLParser *)parser
didEndElement:(NSString *)elementName
namespaceURI:(NSString *)namespaceURI
qualifiedName:(NSString *)qName
感谢您帮助我。
答案 0 :(得分:4)
尝试从
改变NSURL *xmlUrl = [NSURL fileURLWithPath:@"http://172.16.202.155/results.xml"];
到
NSURL *xmlUrl = [NSURL URLWithString:@"http://172.16.202.155/results.xml"];