2010-09-15 56 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