我想用PHP中的简单XML解析这个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
然后我尝试了URLencode:
<?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文件的正确方法是什么?
答案 0 :(得分:0)
将您的值包装在CDATA中
<title><![CDATA[Lorem ipsum]]></title>