DOM解析器 - CDATA查询

时间:2011-05-16 09:20:19

标签: php xml dom xml-parsing

$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部分中,则会弹出此错误。

有人可以帮我解决我所缺少的问题。据我所知,它应该在浏览器中给我一些错误,但我收到了正确的输出!!!

此致 Priti

1 个答案:

答案 0 :(得分:2)

您以编程方式构建DOM,然后将其转换为XML。

您正在使用的库将文本节点包装在CDATA部分中,或者在XML中使用实体(>等)表示具有特殊含义的字符。要么是有效的,也是等效的。

这也是为什么我们使用XML库而不是模板来构建XML文档。他们为我们处理所有这些事情,并阻止我们最终得到不完整的文件。