Php 如何保存<;及>;是否使用SimpleXML在元素值中?

Php 如何保存<;及>;是否使用SimpleXML在元素值中?,php,xml,simplexml,Php,Xml,Simplexml,我想用PHP中的简单XML解析这个XML文件: <?xml version="1.0" encoding="UTF-8"?> <data> <title>Lorem ipsum</title> <content>Whoa, <ducks>!</content> </data> 然后我尝试了URLencode: <?xml version="1.0" encoding="UTF-

我想用PHP中的简单XML解析这个XML文件:

<?xml version="1.0" encoding="UTF-8"?>
<data>
    <title>Lorem ipsum</title>
    <content>Whoa, <ducks>!</content>
</data>
然后我尝试了URLencode:

<?xml version="1.0" encoding="UTF-8"?>
<data>
    <title>Lorem ipsum</title>
    <content>Whoa%2C%20%3Cducks%3E!</content>
</data>
这是我当前的PHP代码,非常简单,对吗

$request = simplexml_load_string($_POST["data"]);

那么,在仍然保留特殊字符的情况下,解析XML文件的正确方法是什么呢?

将值包装在CDATA中

<title><![CDATA[Lorem ipsum]]></title>


好的,可以了,现在我只需要弄清楚如何自动将CDATA添加到该元素中。谢谢生成xml文件的应用程序应该位于添加xml文件的位置。在这种情况下,Cdata只是一种解决方法,而不是修复方法。“]]>”、“”和“ducks/”都返回相同的文本值。您使用和编码的XML有效且有效。这听起来像是一个实体解码过程中的某个地方。
Warning: simplexml_load_string(): Entity: line 3: parser error : Opening and ending tag mismatch: ducks
$request = simplexml_load_string($_POST["data"]);
<title><![CDATA[Lorem ipsum]]></title>