Как разобрать xml карту сайта с PHP? - PullRequest
0 голосов
/ 18 апреля 2020

Я хочу напечатать значения в элементах xml файла, но у меня есть проблема.

Это xml Карта сайта:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/sitemap.xsl"?>
 <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url><loc>https://www.example.com/1</loc></url>
  <url><loc>https://www.example.com/2</loc></url>
 </urlset>

и это мой код:

$url_sitemap = "file.xml";
$xml_sitemap = simplexml_load_file($url_sitemap);

foreach($xml_sitemap-> urlset -> url as $url){
 $link= $url->loc;
 print_r($link);
}

но у меня есть эта ошибка: Предупреждение : неверный аргумент для foreach () в

1 Ответ

2 голосов
/ 18 апреля 2020

Если вы print_r($xml_sitemap); увидите, что он не содержит urlset:

SimpleXMLElement Object
(
    [url] => Array
        (
            [0] => SimpleXMLElement Object
                (
                    [loc] => https://www.example.com/1
                )

            [1] => SimpleXMLElement Object
                (
                    [loc] => https://www.example.com/2
                )

        )

)

Затем вы можете использовать

foreach ($xml_sitemap as $url) {
    echo $url->loc;
}

для вывода всех loc s

...