在PHP中抓取,缓存和解析远程XML提要,验证检查
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在PHP中抓取,缓存和解析远程XML提要,验证检查,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1278字,纯文字阅读大概需要2分钟。
内容图文
![在PHP中抓取,缓存和解析远程XML提要,验证检查](/upload/InfoBanner/zyjiaocheng/828/badc756be62f4e6687ca5715deaeaae0.jpg)
目前,我正在抓取远程站点的XML feed并在我的服务器上保存本地副本以便在PHP中进行解析.
问题是如何在PHP中添加一些检查以查看feed.xml文件是否有效,如果是,请使用feed.xml.
如果错误无效(有时远程XML提供某些显示空白feed.xml),请从之前的抓取/保存中提供feed.xml的备份有效副本?
代码抓取feed.xml
<?php
/**
* Initialize the cURL session
*/
$ch = curl_init();
/**
* Set the URL of the page or file to download.
*/
curl_setopt($ch, CURLOPT_URL,
'http://domain.com/feed.xml');
/**
* Create a new file
*/
$fp = fopen('feed.xml', 'w');
/**
* Ask cURL to write the contents to a file
*/
curl_setopt($ch, CURLOPT_FILE, $fp);
/**
* Execute the cURL session
*/
curl_exec ($ch);
/**
* Close cURL session and file
*/
curl_close ($ch);
fclose($fp);
?>
到目前为止只有这个加载它
$xml = @simplexml_load_file('feed.xml') or die("feed not loading");
谢谢
最佳答案:
如果curl不应该直接写入文件,那么你可以在重写本地feed.xml之前检查XML:
<?php
/**
* Initialize the cURL session
*/
$ch = curl_init();
/**
* Set the URL of the page or file to download.
*/
curl_setopt($ch, CURLOPT_URL, 'http://domain.com/feed.xml');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$xml = curl_exec ($ch);
curl_close ($ch);
if (@simplexml_load_string($xml)) {
/**
* Create a new file
*/
$fp = fopen('feed.xml', 'w');
fwrite($fp, $xml);
fclose($fp);
}
?>
内容总结
以上是互联网集市为您收集整理的在PHP中抓取,缓存和解析远程XML提要,验证检查全部内容,希望文章能够帮你解决在PHP中抓取,缓存和解析远程XML提要,验证检查所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。