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);
我不知道为什么这已经downvoted。但是这个工作对我来说。我相信这是我忘记尝试的一种技巧。 – Cybrix 2010-09-20 03:41:42
也许是因为我有示例XML与代码内联。这是有点皱眉。但我懒得使用DOMDocument来构建XML。我从来没有想过要成为真正的代码,而只是教你如何做到这一点,所以你可以集成到你的代码中。很高兴帮助:) – Ollie 2010-09-20 17:20:49