//xml局部格式如下<aa url="www.xxx.com">
    <![CDATA[
       <font size="13"><a href="www.xxx.com?x=s&f=3" target="_blank">常 见 问 答1</a></font><br/><br/>
       <font size="13"><a  href="www.xxx.com?x=s&f=3" target="_blank">常 见 问 答2</a></font><br/><br/>
       <font size="13"><a  href="www.xxx.com?x=s&f=3" target="_blank">常 见 问 答3</a></font><br/><br/>
    ]]>
  </aa>以上xml里面的正确格式现在如果要修改的话,我会先取出aa节点下面的值,然后直接提交就报错。
我用htmlspecialchars编码过,然后提交给xml节点后,虽然不报错,但是显示成下面错误的这样。<aa url="www.xxx.com">
    <![CDATA[
       &lt;font size="13"&lt;&lt;a href="www.xxx.com?x=s&f=3" target="_blank"&lt;常 见 问 答1&lt;/a&gt;&lt;/font&lt;&lt;br/&lt;&lt;br/&lt;
    ]]>
  </aa>
请问要提交含html标记的值给xml节点需要怎样处理下?

解决方案 »

  1.   

    这个文件是xml文件是flash的配置文件,flash显示的数据会从此xml来提取,
    格式一定要是如下所示格式。<aa url="www.xxx.com">
        <![CDATA[
           <font size="13"><a href="www.xxx.com?x=s&f=3" target="_blank">常 见 问 答1</a></font><br/><br/>
           <font size="13"><a  href="www.xxx.com?x=s&f=3" target="_blank">常 见 问 答2</a></font><br/><br/>
           <font size="13"><a  href="www.xxx.com?x=s&f=3" target="_blank">常 见 问 答3</a></font><br/><br/>
        ]]>
      </aa>
      

  2.   

    CDATA 中的内容不需要转义!转义反而错了
      

  3.   


    <aa url="www.xxx.com">
        
           <font size="13"><a href="www.xxx.com?x=s&f=3" target="_blank">常 见 问 答1</a></font><br/><br/>
           <font size="13"><a  href="www.xxx.com?x=s&f=3" target="_blank">常 见 问 答2</a></font><br/><br/>
           <font size="13"><a  href="www.xxx.com?x=s&f=3" target="_blank">常 见 问 答3</a></font><br/><br/>
        
      </aa>你试一试这个样子行不行
      

  4.   

    文本框里面的值为<font size="13"><a  href="http://www.xx.com?act=shows&id=24" target="_blank">强 化 地 板</a></font><br/><br/>用POST获取后,变成下面的这样了<font size=\"13\"><a  href=\"http://www.xx.com?act=shows&id=24\" target=\"_blank\">常见问答</a></font><br/><br/>
      

  5.   

    上面的文字我敲的时候弄错了,关键是引号 用POST获取的时候都变成了\"这样形式的
      

  6.   

    php.ini中 magic_quotes_gpc()函数是打开的么?自动给引号转义了。。
      

  7.   

    恩,现在就是要修改CDATA里面的数据,我去查查
      

  8.   

    顺便给你粘过来.
    $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();