gpt4 book ai didi

xml - 何时使用 CDATA 与 Escape,反之亦然?

转载 作者:数据小太阳 更新时间:2023-10-29 01:40:29 26 4
gpt4 key购买 nike

我正在使用从数据库中获取的值创建 XML 文档。有时,由于遗留实现,我会撤回一个包含字符的值,该字符在未正确转义时无效(例如 &)。

那么问题就变成了,我应该使用 CDATA 还是 Escape?某些情况更适合一种还是另一种?

例子:

<Email>foo&bar@domain.com</Email>

这里我倾向于使用 CDATA。

<Name>Bob & Tom</Name>

我倾向于逃离这里。

我想避免每次都盲目地使用 CDATA,但从性能的角度来看,这似乎是合乎逻辑的选择。这总是比查找无效字符快,如果存在则换行。

想法?

最佳答案

在我看来,CDATA 主要用于提高人类的可读性。就机器而言,除了长度之外,CDATA 和转义文本之间没有区别。也许转义版本的处理时间会稍长一些,但我说也许,因为除非您的应用程序主要受 IO 限制,否则这不应该是一个重要因素。

人们可能会阅读 XML 吗?如果不是,就让 XML 解析器做它做的事,不要担心 CDATA 与转义文本。如果人们要阅读此 XML,那么 CDATA 可能是更好的选择。

如果您要拥有一个值为 XML 的 XML 元素,那么对于这种情况,CDATA 可能是更好的选择。

有关更多信息,请参见 XML 常见问题解答的示例,When should I use a CDATA Marked Section?

关于xml - 何时使用 CDATA 与 Escape,反之亦然?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/967420/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com