2010-09-19 6 views
1

Bonjour,SimpleXMLElement pour modifier le tag racine

J'ai des difficultés à modifier XML en utilisant SimpleXMLElement en PHP.

Ma structure XML est comme ci-dessous:

<chart caption='NULL' shownames='1' showvalues='0' decimals='2' numberPrefix='$' useRoundEdges='0' legendBorderAlpha='0' bgColor='FFFFFF' canvasBorderColor='A5A5A5' canvasBorderThickness='1' showToolTip='1'> 
... 
</chart> 

Comment puis-je modifier les attributs() sur la balise racine en utilisant SimpleXMLElement?

Merci!

EDIT: Hmm ... J'ai trouvé un moyen mais je ne crois pas qu'il soit très propre. J'ai ajouté un tag <root><chart ...>...</chart></root> enveloppant mes données XML. Et j'ai finalement ajouté str_replace(array("<root>", "</root>"), "", $_RenderedXML->asXML()) à mon code. Une idée qui est .. "nettoyeur"?

Répondre

-1

Pour changer le "shownames" attribut (String) "2"

<? 

$dom = simplexml_load_string("<chart caption='NULL' shownames='1' showvalues='0' decimals='2' numberPrefix='$' useRoundEdges='0' legendBorderAlpha='0' bgColor='FFFFFF' canvasBorderColor='A5A5A5' canvasBorderThickness='1' showToolTip='1'></chart>"); 
$dom['shownames'] = '2'; 
var_dump($dom); 
+0

Je ne sais pas pourquoi cela a été downvoted. Mais ce travail pour moi. Je crois que c'était une technique que j'ai oublié d'essayer. – Cybrix

+0

Peut-être parce que j'avais l'exemple XML en ligne avec le code. ce qui est un peu mal vu. Mais j'étais trop paresseux pour utiliser DOMDocument pour construire le XML. Je n'ai jamais voulu que ce soit le code réel, mais juste assez pour vous apprendre à le faire afin de pouvoir l'intégrer dans votre code. Heureux que ça a aidé :) – Ollie