DOM 解析器 - CDATA 查询

发布于 2024-11-07 15:08:34 字数 651 浏览 2 评论 0原文

$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 = 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();

I was trying an example for CDATA Section in DOM and got stuck here. I have created a '' xml node which contains illegal characters like '>' ,'&' but when I see the output of above code browsers do not throw an error saying usage of illegal characters or XML is not well formed.... I remember that this error use to pop up if you do not keep these characters in CDATA Section.

Can someone help me what I am missing.. As per me it should give me some error in browser but I am receiving correct output !!!

Regards,
Priti

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

十年不长 2024-11-14 15:08:34

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

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

这也是我们使用 XML 库而不是模板来构建 XML 文档的原因。他们为我们处理所有这些事情,并阻止我们最终得到格式不正确的文件。

You are programatically constructing a DOM and then converting it to XML.

The library you are using will either wrap the text node in a CDATA section, or represent the characters with special meaning in XML with entities (> etc). Either is valid and equivalent.

This is also why we use XML libraries instead of templates to build XML documents. They take care of all of that for us and stop us ending up with non-well-formed documents.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文