PHP获取远程xml并对其判断

最近想要实现一种能远程批量获取xmlphp类,在以前申请的免费空间中做测试,测试成功,并记录下来:

先前我把页面存放在多个服务器上比如A,B,C代表3个不同站点,上面存放xml文件。

那么思路是这样的:先用file_get_contents函数远程调用xml过来,再对xml判断→分析页面含有指定元素→再做下一步处理

$pageback=file_get_contents($url."createxml.php");
if(strstr($pageback,"playlist")) {   //判断链接中是否含有playlist关键字
$xml = new DOMDocument();
$xml->load($url.'playlist.xml');  //条件通过就调用xml文件
foreach($xml->getElementsByTagName('url') as $url) {
$value = $url->firstChild->nodeValue;
echo '<track><url>'.$value.'</url></track>';   //生成xml节点
}
}


上面的处理函数可以放进function中,然后把变量$url赋上A,B,C站点路径,就可以对其进行相应处理了:

<?php
function getxml($url){   //建立function
$pageback=file_get_contents($url."createxml.php");
if(strstr($pageback,"playlist")) {
$xml = new DOMDocument();
$xml->load($url.'playlist.xml');
foreach($xml->getElementsByTagName('url') as $url) {
$value = $url->firstChild->nodeValue;
echo '<track><url>'.$value.'</url></track>';
}
}
}
$url=http://a.malu.me/test/;   //A远程链接
getxml($url);    //调用function
$url=http://b.malu.me/test/;   //B远程链接
getxml($url);    //调用function
$url=http://c.malu.me/test/;   //C远程链接
getxml($url);    //调用function
?>

总结:依据上面原理其实包含了对远程页面的获取判断,我们可以依据这一函数稍作修改,加个循环来做一个批量探测网页是否可访问的php函数。同样其他的应用就发挥大家的想象力吧。

题外话:陋室博客原创文章,刚把博客文章设置成同步到人人网腾讯微博还有新浪微博以及QQ空间,原文地址发布在:http://bolg.malu.me/html/2011/1273.html

此条目是由 malu8 发表在 未分类 分类目录的。将固定链接加入收藏夹。

评论已关闭。