2010-09-15 22 views
1

Ceci est mon modèle RSS que je charge dans mon objet simplexml. Je veux changer leEspace nom atomique avec 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> 

Je voudrais changer l'attribut href dans atom: link, mais je n'ai pas la moindre idée comment y accéder. J'ai parcouru SO et trouvé un tas d'informations sur la façon d'accéder à différents espaces de noms, mais je ne peux pas comprendre comment appliquer l'un d'eux à cet exemple spécifique (surtout parce que je suis assez dense :)

Je peux modifier mon Attribut de lien avec la ligne de code ci-dessous mais comment modifier l'attribut mentionné ci-dessus?

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

Toute aide serait appréciée!

Répondre

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

Exemple here.

+0

Merci beaucoup, j'ai martelé pendant une heure :) – Gazillion

+0

Le lien pour l'exemple ne fonctionne pas, mais merci à la fois pour la réponse et pour la façon dont la question a été posée. J'ai passé des années à essayer d'obtenir SimpleXml pour ajouter un enfant nommé 'atome: lien' et je n'avais pas réalisé que l'on pouvait simplement commencer avec le modèle! – xgretsch