NSXMLParserPrematureDocumentEndError = 5 //文档意外结束

时间:2011-06-29 09:27:51

标签: iphone objective-c xml nsxmlparser

我一直在浏览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

感谢您帮助我。

1 个答案:

答案 0 :(得分:4)

尝试从

改变
NSURL *xmlUrl = [NSURL fileURLWithPath:@"http://172.16.202.155/results.xml"];

NSURL *xmlUrl = [NSURL URLWithString:@"http://172.16.202.155/results.xml"];