SimpleXMLElement修改根标记

问题描述:

美好的一天,SimpleXMLElement修改根标记

我在使用PHP中的SimpleXMLElement修改XML时遇到了问题。

我的XML结构如下:

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

如何修改使用的SimpleXMLElement根标签的属性()?

谢谢!

编辑: 嗯...我找到了一种方式,但我不认为它很干净。我添加了一个包装我的XML数据的<root><chart ...>...</chart></root>标签。我终于在我的代码中加入了str_replace(array("<root>", "</root>"), "", $_RenderedXML->asXML())。任何想法是......“更清洁”?

改变 “shownames” 属性(字符串) “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

我不知道为什么这已经downvoted。但是这个工作对我来说。我相信这是我忘记尝试的一种技巧。 – Cybrix 2010-09-20 03:41:42

+0

也许是因为我有示例XML与代码内联。这是有点皱眉。但我懒得使用DOMDocument来构建XML。我从来没有想过要成为真正的代码,而只是教你如何做到这一点,所以你可以集成到你的代码中。很高兴帮助:) – Ollie 2010-09-20 17:20:49