2010-09-15 90 views
1

這是我的RSS模板,我加載到我的simplexml對象。我想更改Atom命名空間與php simplexml

<?xml version="1.0" encoding="utf-8"?> 
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"> 
    <channel> 
     <atom:link href="link" rel="self" type="application/rss+xml" /> 
     <title></title> 
     <link></link> 
     <description></description> 
     <lastBuildDate></lastBuildDate> 
    </channel> 
</rss> 

我想更改atom:link中的href屬性,但我不知道如何訪問它。我搜遍了SO,發現了一堆關於如何訪問不同命名空間的信息,但是我無法弄清楚如何將它們應用於這個特定示例(主要是因爲我非常密集):

我可以修改我的鏈接屬性與下面的代碼行,但我將如何修改上述屬性?

$rss->channel->link = $rssLink; 

任何幫助,將不勝感激!

回答

5
$attrs = $rss->channel->children("atom", true)->link->attributes(); 
$attrs["href"] = "href_value"; 

實施例here

+0

非常感謝你,我一直在這裏琢磨一個小時左右:) – Gazillion 2010-09-15 18:25:25

+0

這個例子的鏈接不起作用,但是謝謝你的答案和提出問題的方式。我花了很長時間試圖讓SimpleXml添加一個名爲'atom:link'的子項,並沒有意識到可以簡單地在模板中開始它! – xgretsch 2012-02-15 09:22:58