Re: XML functions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ahmad F AlTwaijiry wrote:
Dears

When i checked the php manual i found many Solutions to read/write xml files and im confused now :)

Which function/library is better and is there any new article that compare each function/library?

I use DOMDocument.
It works best if the input file you are reading is UTF-8.

It has some issues I haven't yet figured out related to namespaces, sometimes when loading perfectly valid XML that uses namespaces for import into another document, I lose the namespace and get "default" prepended to the node name. I do not understand why it feels it needs to do this, but it apparently does in some cases.

For those cases, I currently use hackish workarounds where I remove the namespace with a preg_replace before import into the DOM and then add the namespace again using the DOM tools after it has been imported.

Where I have run into this problem is MathML and SVG within XHTML when I cache the MathML/SVG as a string in APC for import into documents.

It is not so much an issue with SVG in XHTML as SVG probably is best done as an object rather than directly embedded (but when generating SVG via DOMDocument I have a similar problem if I am using xlink namespace) but it is a problem with MathML which is usually done inline.

It could just be that I'm doing things wrong, but the documentation isn't exactly full of working example code.

So anyway, if you use namespaces, you may run into a few frustrating kinks, but DOMDocument is what I use, and it is very convenient because it is very similar to the JavaScript DOM2 methods (I believe intentionally).

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux