我有一个XML文件,我想用PHP中的简单XML来解析:
<?xml version="1.0" encoding="UTF-8"?>
<data>
<title>Lorem ipsum</title>
<content>Whoa, <ducks>!</content>
</data>
我想在内容元素中保留,所以我尝试对其进行HTML编码:
<?xml version="1.0" encoding="UTF-8"?>
<data>
<title>Lorem ipsum</title>
<content>Whoa, <ducks>!</content>
</data>
但是SimpleXML给了我一个错误:
Warning: simplexml_load_string(): Entity: line 3: parser error : Premature end of data in tag content
然后我尝试了URLncode:
<?xml version="1.0" encoding="UTF-8"?>
<data>
<title>Lorem ipsum</title>
<content>Whoa%2C%20%3Cducks%3E!</content>
</data>
它给了我这个:
Warning: simplexml_load_string(): Entity: line 3: parser error : Opening and ending tag mismatch: ducks
这是我当前的PHP代码,非常简单,对吧?
$request = simplexml_load_string($_POST["data"]);
那么,在保留特殊字符的同时解析XML文件的正确方法是什么呢?
用CDATA 包装您的价值
<title><![CDATA[Lorem ipsum]]></title>