NSXMLParserPrematureDocumentEndError = 5 // 文档意外结束

发布于 2024-11-17 19:22:48 字数 1501 浏览 1 评论 0原文

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

谢谢你帮助我。

I've been browsing through the questions in Stackoverflow and other forums and tried several suggested solutions but nothing works. I'm using Xcode 4.0.1 with iPhone 4.3 simulator.

The error Im receiving:

NSXMLParserPrematureDocumentEndError = 5 // The document ended unexpectedly.

This is the XML file:

<?xml version="1.0" encoding="utf-8" ?>
<errorDetails>

    <errorCode>15</errorCode>
    <errorText>The very special error</errorText>

</errorDetails>

This is the calling code:

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!");

The link works, it is visible in webView.

These are implemented in XMLparser.m but it seems like they are never called for.

- (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

Thank you for helping me out.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

生生不灭 2024-11-24 19:22:48

尝试从 更改

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

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

try changing from

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

to

NSURL *xmlUrl = [NSURL URLWithString:@"http://172.16.202.155/results.xml"];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文