//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[
<font size="13"<<a href="www.xxx.com?x=s&f=3" target="_blank"<常 见 问 答1</a></font<<br/<<br/<
]]>
</aa>
请问要提交含html标记的值给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>
<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>你试一试这个样子行不行
$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();