SimpleXMLElement для изменения корневого тега

Добрый день,

У меня возникли проблемы с изменением XML с помощью SimpleXMLElement в PHP.

Моя структура 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?

Спасибо!

РЕДАКТИРОВАТЬ: Хм ... Я нашел способ, но не верю, что он очень чистый. Я добавил тег <root><chart ...>...</chart></root>, обертывающий мои XML-данные. И, наконец, я добавил str_replace(array("<root>", "</root>"), "", $_RenderedXML->asXML()) в свой код. Любая идея, что это ... "чище"?


person Cybrix    schedule 19.09.2010    source источник


Ответы (1)


ЧТОБЫ изменить атрибут "shownames" на (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);
person Oliver O'Neill    schedule 19.09.2010
comment
Я не знаю, почему это было отвергнуто. Но это работает для меня. Думаю, это была одна из техник, которую я забыл попробовать. - person Cybrix; 20.09.2010
comment
Может быть, потому что у меня был образец XML, встроенный в код. что вроде бы неодобрительно. Но мне было лень использовать DOMDocument для создания XML. Я никогда не хотел, чтобы это был реальный код, но достаточно, чтобы научить вас, как это делать, чтобы вы могли интегрироваться в свой код. Рад, что помог :) - person Oliver O'Neill; 20.09.2010