101 reputation


My main presence on this site seems to be correcting people's misunderstandings of PHP's SimpleXML module.

People jump through tortuous hoops, switching to DOM, using XPath, setting LIBXML settings, and 90% of the time, this is because they don't know how to use it, not because it doesn't work.

The top 3:

  • Never print_r() or var_dump() SimpleXML data, or you will be more confused than when you started. I have written some debug functions to use instead.
  • There is nothing wrong with CDATA sections in SimpleXML. Just always cast to string.
  • Namespaces are really easy - just use the ->children() method.