我有点卡在这里。对于具有不同地点的多个图标的 Google 地图,我需要 XML 格式的数据。这个想法是检查一个条目(由 Processwire 中的 ID 标识)是否已经在 XML 文件中。如果是,则无需做任何事情。如果不是,则必须将其添加到文件中。此外,如果 id 在 XML 文件上但不再在数据库上(因为它必须被删除),则需要将其删除。
这是我到目前为止所拥有的:
$file = 'xml/markers.xml';
$xml = simplexml_load_file($file);
foreach ($pages->get('/produzenten/')->prod_repeater as $produzent) {
$marker = $xml->addChild("marker");
$marker->addAttribute('id', $produzent->id);
$marker->addAttribute('name', $produzent->prod_name);
$marker->addAttribute('address', $produzent->prod_objekt . ', 8625 Gossau' );
$marker->addAttribute('type', $produzent->prod_kategorie);
$marker->addAttribute('lat', $produzent->geo_lg);
$marker->addAttribute('lng', $produzent->geo_bg);
file_put_contents('xml/markers.xml', $xml->asXML());
}
这可行,但每次调用网站时都会将所有条目添加到文件中,这不是我想要的。
有什么帮助吗?
这是我们正在讨论的 XML 文件:标记