#45253 [Opn]: SimpleXML interface incosnsistent

From: Date: Thu, 12 Jun 2008 21:46:33 +0000
Subject: #45253 [Opn]: SimpleXML interface incosnsistent
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-125729@lists.php.net to get a copy of this message
ID: 45253 User updated by: erudd at netfor dot com Reported By: erudd at netfor dot com Status: Open Bug Type: SimpleXML related Operating System: Linux PHP Version: 5.2.6 New Comment: The XMLWriter extension escapes my input for me as expected instead of requiring me to escape the input first. Previous Comments: ------------------------------------------------------------------------ [2008-06-12 21:31:52] erudd at netfor dot com Description: ------------ Referencing bug #44458 Where in the documentation does it state that the strings must be escaped when setting attributes or assigning values to children. I can find it nowhere in the documentation, nor any examples where you show that you "must escape text content" before entering it into the attribute or text content of an element. Also this behavior is inconsistent behavior as when you fetch the data it is NOT escaped. So why should I need to escape the data when putting it in? This makes simpleXML not so simple as I have to perform extra "unexpected" work while storing data into the xml document. Which I do not have to do with the DOM extension. Consistency should be high priority in this.. I should expect to retrieve the same value out that I put in. the SimpleXML class should handle encoding and decoding data for me so "I" don't have to think about it. Reproduce code: --------------- $sxml=new SimpleXMLElement('<test></test>'); $sxml->addChild('child1','One & Two'); echo "Test 1:".(string)$sxml->child1."\n"; $sxml->addChild('child2','One &amp; Two'); echo "Test 2:".(string)$sxml->child2."\n"; $sxml->addChild('child3'); $sxml->child3 = 'One &amp; Two'; echo "Test 3:".(string)$sxml->child3."\n"; Expected result: ---------------- Test 1:One & Two Test 2:One &amp; Two Test 3:One &amp; Two Actual result: -------------- Test 1:One Test 2:One & Two Test 3:One & Two ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=45253&edit=1

« previous php.bugs (#125729) next »