• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

iphone - 在 IOS 中验证 XML 文件

[复制链接]
菜鸟教程小白 发表于 2022-12-12 11:58:08 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我有一个 XML 解析器。我从服务器获取 XML 文件并将该 XML 文件写入缓存中的本地文件。在此之前,我想检查 URL 是否有 XML 文件。如何检查可用 URL 的页面是 XML 页面还是其他类型的页面(例如:HTML、PHP)?简而言之,我如何识别 XML 文件??



Best Answer-推荐答案


最终,您必须查看检索到的数据的内容以确保它是有效的 XML,而解析是最简单的方法。

如果您通过 HTTP 请求检索数据,您也可以在开始接收实际数据之前查看收到的响应。例如,如果使用NSURLConnection,你可以实现一个didReceiveResponse,它通常应该返回一个200作为状态码和text/xml 内容类型:

- (void) connectionNSURLConnection *)connection didReceiveResponseNSURLResponse *)response
{
    if ([response isKindOfClass:[NSHTTPURLResponse class]])
    {
        NSHTTPURLResponse *httpResponse = (id)response;

        NSInteger statusCode = httpResponse.statusCode;
        NSString *contentType = httpResponse.allHeaderFields[@"Content-Type"];
        NSLog(@"%d; %@", statusCode, contentType);

        // check to see if statusCode == 200 and/or [contentType isEqualToString"text/xml"] here;
    }
}

顺便说一句,状态码和内容类型是由服务器设置的,因此无可否认,它取决于服务器的实现(例如,如果 XML 是由服务器以编程方式生成的,希望它设置这些 HTTP 响应字段正确,但如果您从第三方服务器检索 XML,则不能保证它们行为良好)。但是状态码 200 和内容类型“text/xml”是习惯性的,如果您只是检索 XML 文件,大多数服务器会适本地设置这些值。

验证 XML 最可靠的技术是从服务器接收数据,并将其提交给解析器,然后查看解析器是否返回错误。

关于iphone - 在 IOS 中验证 XML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17279960/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap