各位大虾:用simplexml怎样创建带有CDATA的节点呢? 读倒是好说,设置LIBXML_NOCDATA 这个属性即可,
但是创建CDATA节点,却没有函数? 哪个大虾指点一下。

解决方案 »

  1.   

    simplexml是用来读xml的,各种增删改查xml的操作应该用php实现的dom方法,手册有一堆dom相关的函数。$xml = <<<XML
    <?xml version="1.0" ?>
    <chapter>
    <name>php+mysql</name>
    <para>
    <page>240</page>
    <author></author>
    </para>
    </chapter>
    XML;
    echo "<pre/>";
    $dom = new DOMDocument;
    $dom->loadXML($xml);
    $xpath = new DOMXpath($dom);
    $node = $xpath->query("//chapter/para/author");
    $node->item(0)->appendChild($dom->createCDATASection("i am cdata section"));echo "原来的xml结构:<br/>====<br/>";
    echo htmlspecialchars($xml);
    echo "<br/><br/>加cdata后:<br/>====<br/>";
    echo htmlspecialchars($dom->saveXML());