Bug #70570 [Com]: json_encode ignores simplexml cdata

From: Date: Mon, 05 Apr 2021 11:07:06 +0000
Subject: Bug #70570 [Com]: json_encode ignores simplexml cdata
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-233160@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=70570&edit=1

 ID:                 70570
 Comment by:         elawaelr at gmail dot com
 Reported by:        cph at osde dot uk
 Summary:            json_encode ignores simplexml cdata
 Status:             Verified
 Type:               Bug
 Package:            SimpleXML related
 Operating System:   xubuntu 14
 PHP Version:        5.5.29
 Block user comment: N
 Private report:     N

 New Comment:

أن اتخاذ قرار العزل ليس
أمرًا سهل يحتاج إلى التفكير
ويكون هذا العزل بناء على بعض
النقاط الهامة وأهمها هو
اتخاذ قرار العزل للحفاظ على
المباني من عوامل الجو لأطول
فترة ممكنة والحفاظ على
المباني من حدوث أي تسرب مياه
وأضرار المبنى
 كما انها أفضل شركة تنظيف 
تقوم بتنظيف جميع انحاء
المنزل والمبني حتى تجعله
خالي من الاوساخ والاتربة
ولان شركتنا مميزة فهي تقوم
بتنظيف الاماكن الصعبة في
المنزل حيث تستخدم أفضل معدات
التنظيف وتمتلك عمالة مدربة
وشركتنا افضل شركة لتنظيف
المكيفات
إن دخول الحشرات إلى المنازل،
وتكاثرها فيها يؤذي ساكنيها،
ويدفعهم إلى اللجوء لمكافحة
هذه الحشرات والقضاء عليها،
ولعلّ من أنجع الطرق
المستخدمة لذلك رش المبيدات
الحشرية في المنازل  تتم من
خلال الاستعانة بشركة
متخصّصة لمكافحة الحشرات 
وتمتلك الشركة ايضا خدمات
تركيب طارد الحمام

https://www.rokn-elawael.com/bird-repellent-medina/
https://www.rokn-elawael.com/%d8%b4%d8%b1%d9%83%d8%a9-%d8%b9%d8%b2%d9%84-%d8%a7%d8%b3%d8%b7%d8%ad-%d8%a8%d8%a7%d9%84%d9%85%d8%af%d9%8a%d9%86%d8%a9-%d8%a7%d9%84%d9%85%d9%86%d9%88%d8%b1%d8%a9/
https://www.rokn-elawael.com/%d8%b4%d8%b1%d9%83%d8%a9-%d8%aa%d9%86%d8%b8%d9%8a%d9%81-%d8%a8%d8%a7%d9%84%d9%85%d8%af%d9%8a%d9%86%d8%a9-%d8%a7%d9%84%d9%85%d9%86%d9%88%d8%b1%d8%a9/
https://www.rokn-elawael.com/%d8%b4%d8%b1%d9%83%d8%a9-%d8%aa%d9%86%d8%b8%d9%8a%d9%81-%d9%85%d9%83%d9%8a%d9%81%d8%a7%d8%aa-%d8%a8%d8%a7%d9%84%d9%85%d8%af%d9%8a%d9%86%d8%a9-%d8%a7%d9%84%d9%85%d9%86%d9%88%d8%b1%d8%a9/
https://www.rokn-elawael.com/%d8%b4%d8%b1%d9%83%d8%a9-%d9%85%d9%83%d8%a7%d9%81%d8%ad%d8%a9-%d8%ad%d8%b4%d8%b1%d8%a7%d8%aa-%d8%a8%d8%a7%d9%84%d9%85%d8%af%d9%8a%d9%86%d8%a9-%d8%a7%d9%84%d9%85%d9%86%d9%88%d8%b1%d8%a9/


Previous Comments:
------------------------------------------------------------------------
[2020-09-18 14:46:06] cmb@php.net

This is not particularly related to json_encode(), though; cf.
<https://3v4l.org/l6Xmu>.

------------------------------------------------------------------------
[2018-08-07 17:38:01] cmb@php.net

> See <http://php.net/manual/en/simplexmlelement.tostring.php>.

Nonsense, sorry!  Re-opening.

------------------------------------------------------------------------
[2018-08-07 16:05:18] cmb@php.net

Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to
report
a bug at http://bugs.php.net/how-to-report.php

See <http://php.net/manual/en/simplexmlelement.tostring.php>.

------------------------------------------------------------------------
[2015-09-24 10:17:52] cph at osde dot uk

Description:
------------
json_encode ignores simplexml cdata fields and returns a blank string instead of cdata may be
related to https://bugs.php.net/bug.php?id=54632&edit=2

Test script:
---------------
<?php

$s = <<<EOT
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Errors>
	<Error>
	<ErrorId>XML999</ErrorId>
	<ErrorText><![CDATA[cvc-complex-type: Invalid content was found starting with XXX. One of
'{XXX}' is expected.]]></ErrorText>
	</Error>
</Errors>
</Response>
EOT;

$xml = simplexml_load_string($s);

echo $xml->Errors->Error->ErrorId.PHP_EOL;
echo $xml->Errors->Error->ErrorText.PHP_EOL;

echo json_encode($xml,JSON_PRETTY_PRINT);


Expected result:
----------------
XML999
cvc-complex-type: Invalid content was found starting with XXX. One of '{XXX}' is expected.
{
    "Errors": {
        "Error": {
            "ErrorId": "XML999",
            "ErrorText": "cvc-complex-type: Invalid content was found starting with
XXX. One of '{XXX}' is expected."
        }
    }
}

Actual result:
--------------
XML999
cvc-complex-type: Invalid content was found starting with XXX. One of '{XXX}' is expected.
{
    "Errors": {
        "Error": {
            "ErrorId": "XML999",
            "ErrorText": {

            }
        }
    }
}


------------------------------------------------------------------------



--
Edit this bug report at https://bugs.php.net/bug.php?id=70570&edit=1


Thread (8 messages)

« previous php.bugs (#233160) next »