DOM Parser- CDATA查询

问题描述

|
$dom = new DOMDocument(\'1.0\');
$Rootelement = $dom->createElement(\'Domain\',\'Root element\');
$dom->appendChild($Rootelement);

$extraInfo=$dom->createElement(\'extrainfo\');
$Rootelement->appendChild($extraInfo);

$roottextNode=$dom->createTextNode(\"Co > S&S \");
$extraInfo->appendChild($roottextNode);

header (\"Content-Type:text/xml\"); 
echo $dom->saveXML();
我正在尝试DOM中CDATA部分的示例,并被困在这里。我创建了一个\'\'xml节点,该节点包含\'> \',\'&\'等非法字符,但是当我看到上述代码浏览器的输出时,不会抛出错误,指出不使用非法字符或XML格式正确。...我记得如果不将这些字符保留在CDATA节中,则会弹出此错误。 有人可以帮我我所缺少的..按照我的看法,它应该给我浏览器一些错误,但我收到正确的输出! 问候, 普里蒂     

解决方法

您正在以编程方式构造DOM,然后将其转换为XML。 您正在使用的库将把文本节点包装在CDATA节中,或者使用实体(
>
等)表示具有特殊含义的XML字符。两者均有效且等效。 这也是为什么我们使用XML库而不是模板来构建XML文档的原因。他们会为我们处理所有这一切,并阻止我们以格式不正确的文档结尾。