<url>
 <![CDATA[ http://www.baidu.com ]]> 
  </url>请问怎么把CDATA块中的内容修改掉,谢谢了

解决方案 »

  1.   


    $str = <<<XML
    <root>
    <url>
    <![CDATA[ http://www.google.com ]]> 
    </url>
    <url>
    <![CDATA[ http://www.yahoo.com ]]> 
    </url>
    </root>
    XML;
    $xml = simplexml_load_string($str,'simpleXMLElement',LIBXML_NOCDATA);header('Content-type: application/xml');
    $xw = new XMLWriter();
    $xw->openMemory();
    $xw->startDocument('1.0','utf-8');
    $xw->startElement('root');foreach ($xml->url as $item){//在循环内修改即可
    $xw->startElement('url');
    $xw->writeCdata($item.'abc');
    $xw->endElement();
    }
    $xw->endElement();
    $xw->endElement();echo $xw->outputMemory();
      

  2.   


    ini_set("display_errors", 1);
    $xml = '
    <url>
      <![CDATA[ http://www.baidu.com ]]>  
      </url>
    ';  $doc = new DOMDocument();
      $doc->loadXML($xml);
      $element = $doc->getElementsByTagName("url");
      $e = $element->item(0);
      echo $e->nodeValue;
      $e->nodeValue="";
      $e->appendChild($doc->createCDATASection("http://www.bbb110.com"));
      echo $doc->saveXML();