脚本宝典收集整理的这篇文章主要介绍了CakePHP Xml实用程序库触发DOMDocument警告,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
$xML = Xml::build($data,array('return' => 'domdocument')); echo $xml->saveXML();
视图由带有阵列的控制器提供:
$this->set( array( 'data' => array( 'root' => array( array( '@id' => 'A & B: OK','name' => 'C & D: OK','sub1' => array( '@id' => 'E & F: OK','name' => 'G & H: OK','sub2' => array( array( '@id' => 'I & J: OK','name' => 'K & L: OK','sub3' => array( '@id' => 'M & N: OK','name' => 'O & P: OK','sub4' => array( '@id' => 'Q & R: OK','@' => 'S & T: ERROR',),) );
$dom = new DOMDocument; $key = 'sub4'; $childValue = 'S & T: ERROR'; $dom->createElement($key,$childValue);
…触发PHP警告:
Warning (2): DOMDocument::createElement(): unterminated entITy reference T [CORE\Cake\Utility\Xml.PHP,line 292
…因为(as documented),DOMDocument :: createElement不会转义值.但是,正如测试案例所示,它仅在某些节点中执行.
$dom = new DOMDocument; $dom ->apPEndChild($dom->createElement('element')) ->appendChild($dom->createTextNode('S & T: ERROR')); var_dump($dom->saveXml());
string(58) "<?xml version="1.0"?> <element>S & T: ERROR</element> "
这是将文本节点添加到DOM的预期方法.您始终创建一个节点(element,text,cdata,…)并将其附加到其父节点.您可以向一个父节点添加多个节点和不同类型的节点.如下例所示:
$dom = new DOMDocument; $p = $dom->appendChild($dom->createElement('p')); $p->appendChild($dom->createTextNode('Hello ')); $b = $p->appendChild($dom->createElement('b')); $b->appendChild($dom->createTextNode('World!')); echo $dom->saveXml();
输出:
<?xml version="1.0"?> <p>Hello <b>World!</b></p>
以上是脚本宝典为你收集整理的CakePHP Xml实用程序库触发DOMDocument警告全部内容,希望文章能够帮你解决CakePHP Xml实用程序库触发DOMDocument警告所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。