toString() in SimpleXML?

php.internals

Leendert Brouwer

21 years ago
Hi, I have a feature request. Maybe it would be a good idea to have a toString() or perhaps nodeValue() method in SimpleXML's SimpleXMLElement class? It might make it more obvious that the element is still a SimpleXMLElement object when you want to actually use it (when you print it, the value automagically casts to a string internally, so users might think that it will be casted to a string when you directly access it without a specified property/method, which is not the case). I know that the docs say that you should cast it to a string when you want to do a comparison, but apart from that just being an example, maybe my suggestion is a more obvious one to notice? regards, Leendert

Marcus Börger

21 years ago
Hello Leendert, having a function __toString() would interfere with the mapping ideas of SimpleXML. However it is there internally so you simply do one of the following: php -r '$x=SimpleXML_load_string("<?xml version=\"1.0\"?><root>blablabla</root>"); echo $x, "\n"; var_dump((string)$x);' regards marcus further questions please to general@php.net Monday, February 14, 2005, 1:23:44 PM, you wrote:
> Hi,
> I have a feature request. Maybe it would be a good idea to have a > toString() or perhaps nodeValue() method in SimpleXML's SimpleXMLElement > class? It might make it more obvious that the element is still a > SimpleXMLElement object when you want to actually use it (when you print > it, the value automagically casts to a string internally, so users might > think that it will be casted to a string when you directly access it > without a specified property/method, which is not the case). I know that > the docs say that you should cast it to a string when you want to do a > comparison, but apart from that just being an example, maybe my > suggestion is a more obvious one to notice?
> regards,
> Leendert
-- Best regards, Marcus mailto:helly@php.net