我正在通过查询数据库并添加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");
使用 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