php读取xml中cdata部分方法

本例使用php的simplexml:
XML(eventtrackdata.xml'):

<eventdata>
    <event>
    <date>2012.05.11</date>
    <sun>
        <![CDATA[
        <li><p>4月16日,日本东京都知事石原慎太郎发表演讲称,东京政府决定从私人手中购买钓鱼岛。</p></li>
        <li><img src="{echo _gc('site_static')}/images/hitconpic.png" width="63" height="73"/></li>
        <li class="lastp"><p>大陆:(新浪) 外交部:两岸都有责任维护钓鱼岛主权。</p>
        <p>华人:(联合早报) 石原称遭到钓鱼岛地主作弄。</p> 
        <p>外媒:(NDTV) China warns Japan over disputed islands.</p>
        </li>
        ]]>
    </sun>
    <line>
        <![CDATA[1. 日本政府谋划购买钓鱼岛。<br />2. 中国政府重申钓鱼岛乃中国<br /> ]]> 
    </line>
    </event>
</eventdata>

PHP code:

$hotdata = simplexml_load_file('eventtrackdata.xml');
foreach ($hotdata->eventdata->event as $ek => $ev) {
    if ((string)$ev->date == $curdate) {
        print_r((string)$ev->sun);//即是读取cdata数据 转换为string即可。
    }
}
原文地址:https://www.cnblogs.com/guangxiaoluo/p/3337074.html