菜鸟教程小白 发表于 2022-12-12 11:58:08

iphone - 在 IOS 中验证 XML 文件


                                            <p><p>我有一个 XML 解析器。我从服务器获取 XML 文件并将该 XML 文件写入缓存中的本地文件。在此之前,我想检查 URL 是否有 XML 文件。如何检查可用 URL 的页面是 XML 页面还是其他类型的页面(例如:HTML、PHP)?简而言之,我如何识别 XML 文件??</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>最终,您必须查看检索到的数据的内容以确保它是有效的 XML,而解析是最简单的方法。 </p>

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

<pre><code>- (void) connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
    if (])
    {
      NSHTTPURLResponse *httpResponse = (id)response;

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

      // check to see if statusCode == 200 and/or here;
    }
}
</code></pre>

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

<p>验证 XML 最可靠的技术是从服务器接收数据,并将其提交给解析器,然后查看解析器是否返回错误。</p></p>
                                   
                                                <p style="font-size: 20px;">关于iphone - 在 IOS 中验证 XML 文件,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/17279960/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/17279960/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iphone - 在 IOS 中验证 XML 文件