<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<class>
<student id="No<001" haha="美女">
<name>小喬</name>
<sex>女</sex>
<age>23</age>
<info>
<![CDATA[
內容部分&*&$#^@*(#))$#*%#
]]></info>
</student>
<student>
<name>周瑜</name>
<sex>男</sex>
<age>26</age>
</student>
</class>
&、<、>、\"、' 等特殊字符、腳本代碼、JSON 片段、HTML 片段等,無需手動轉義。<![CDATA[ 開始,**]]> 結束**。區塊內**不得出現 ]]>**,否則會提前結束導致解析錯誤。PCDATA (Parsed Character Data):會被解析器解析的文本。在 DTD 中用於聲明元素內容模型為可解析文本。CDATA 是「不被解析」的補充。
$xml = simplexml_load_file('demo.xml');
// SimpleXML 直接存取 CDATA 節點內容
echo (string)$xml->student[0]->info; // 輸出:內容部分&*&$#^@*(#))$#*%#
SimpleXML/DOMDocument 均能透明讀取 CDATA 內容,無需特殊處理。