作者:呢嘚吖頭ing_311 | 来源:互联网 | 2014-03-27 08:08
页面含html文本提交处理XMLcode//xml局部格式如下<aaurl="www.xxx.com"><![CDATA[<fontsize="13"
页面含html文本提交处理
XML code
//xml局部格式如下
常 见 问 答1
常 见 问 答2
常 见 问 答3
]]>
以上xml里面的正确格式
现在如果要修改的话,我会先取出aa节点下面的值,然后直接提交就报错。
我用htmlspecialchars编码过,然后提交给xml节点后,虽然不报错,但是显示成下面错误的这样。
XML code
请问要提交含html标记的值给xml节点需要怎样处理下?
------解决方案--------------------CDATA 中的内容不需要转义!转义反而错了
------解决方案--------------------XML code
常 见 问 答1
常 见 问 答2
常 见 问 答3
------解决方案--------------------
之后不要用htmlspecialchars编码
------解决方案--------------------
php.ini中 magic_quotes_gpc()函数是打开的么?自动给引号转义了。。
------解决方案--------------------
用XmlWriter写CDATA数据
------解决方案--------------------
顺便给你粘过来.
PHP code
$str = <<
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();