我正在使用php SimpleXMLElement构建一个xml站点地图,我有两个问题。
当我使用多语言域时,我需要包含hreflang元素,请参阅https://support.google.com/webmasters/answer/2620865?hl=en以供参考。
此元素有3个属性' rel',' href' &安培; '的hreflang'
我们如何设置此元素并向其添加自定义值?
//示例
foreach($array as $value ){
$item->addChild('xhtml:link' , '//takes no value');
// needed output
<xhtml:link href="http://www.example.com/path-to-file" hreflang="de" rel="alternate"/>
}
使用时也是
->addChild('xhtml:link')
将输出
<link/>
and NOT
<xhtml:link/>
是的,我正在使用正确的urlset属性(xmlns:xhtml =&#34; http://www.w3.org/1999/xhtml")。
答案 0 :(得分:0)
使用addChild()
添加新元素时,命名空间有第三个参数。您还可以使用 - addAttribute()
添加属性。所以创建元素,然后一次添加一个属性......
foreach($array as $value ){
$newElement = $item->addChild('link' , '//takes no value', 'xhtml');
$newElement->addAttribute( "href", "http://www.example.com/path-to-file");
$newElement->addAttribute( "hreflang", "de");
$newElement->addAttribute( "rel", "alternate");
// needed output
//<xhtml:link href="http://www.example.com/path-to-file" hreflang="de" rel="alternate"/>
}