我正在嘗試生成一個 sitemap.xml ,這是我的代碼的簡化版本
$dom = new \DOMDocument();
$dom->encoding = 'utf-8';
$dom->xmlVersion = '1.0';
$dom->formatOutput = true;
$xml_file_name = './sitemap.xml';
$urlset = $dom->createElement('urlset');
$attr_ = new \DOMAttr('xmlns:xsi', "http://www.w3.org/2001/XMLSchema-instance");
$urlset->setAttributeNode($attr_);
$url_node = $dom->createElement('url');
$url_node_loc = $dom->createElement('loc', 'http://localhost' );
$url_node->appendChild($url_node_loc);
$url_node_lastmod = $dom->createElement('lastmod', '2021-08-03T22:17:47 04:30' );
$url_node->appendChild($url_node_lastmod);
$urlset->appendChild($url_node);
$dom->appendChild($urlset);
$dom->save($xml_file_name);
dd('done');
這是我的 sitemap.xml 中的輸出
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<urlset>
<url>
<loc>http://localhost</loc>
<lastmod>2021-08-03T22:17:47 04:30</lastmod>
</url>
</urlset>
我需要為我的urlset標簽添加一些屬性,這是我的做法
$attr_ = new \DOMAttr('xmlns:xsi', "http://www.w3.org/2001/XMLSchema-instance");
$urlset->setAttributeNode($attr_);
但由于某種原因,這沒有顯示在我的站點地圖檔案中,urlset 沒有屬性
uj5u.com熱心網友回復:
使用setAttribute()代替setAttributeNode()。
$urlset->setAttribute('xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance');
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/365916.html
下一篇:檢查值在PHP中的物件陣列中
