ใช้เมื่อไหร่LIBXML_NOCDATA
?
ฉันเพิ่มปัญหาเมื่อเปลี่ยน XML เป็น JSON
$xml = simplexml_load_string("<foo><content><![CDATA[Hello, world!]]></content></foo>");
echo json_encode($xml, true);
/* prints
{
"content": {}
}
*/
เมื่อเข้าถึงวัตถุ SimpleXMLElement จะได้รับ CDATA:
$xml = simplexml_load_string("<foo><content><![CDATA[Hello, world!]]></content></foo>");
echo $xml->content;
/* prints
Hello, world!
*/
ฉันมีเหตุผลที่จะใช้LIBXML_NOCDATA
เพราะjson_encode
ไม่ได้เข้าถึง SimpleXMLElement เพื่อเรียกใช้คุณสมบัติการส่งสตริงฉันเดาว่า__toString()
เทียบเท่า
$xml = simplexml_load_string("<foo><content><![CDATA[Hello, world!]]></content></foo>", null, LIBXML_NOCDATA);
echo json_encode($xml);
/*
{
"content": "Hello, world!"
}
*/