检查命名的xml站点地图节点是否存在

时间:2014-04-08 20:11:27

标签: php xml sitemap

我通过查询数据库并在我去的时候添加url节点,使用php生成xml站点地图。数据库中有一些条目会产生重复的url,所以想在添加下一个节点之前检查我的xml字符串。

这个过程......

new SimpleXMLElement

$url = $xml->addChild('url');
$url->addChild('loc', 'http://www.example.com/url');
$url->addChild('lastmod', $date);
$url->addChild('changefreq', "Daily");

$xml->asXML("sitemap.xml");

1 个答案:

答案 0 :(得分:0)

使用xpath检查:

$pageurl = "http://www.test.com/test"; // URL to check
$xml = simplexml_load_string($x);

$set = $xml->xpath("//url[loc = '$pageurl']");

现在检查数组$set是否包含元素......

if (! isset($set[0])) {

    echo "$pageurl not found - add it.";

}

看到它有效:https://eval.in/134107