我正在使用从数据库获取的值创建
XML文档.有时候由于遗留的实现,我会撤销一个包含char的值,如果没有正确地转义(& amp;),则该字符无效.
那么问题就变成了,应该是CDATA还是Escape?某些情况是否适合一对一?
例子:
<Email>foo&bar@domain.com</Email>
我在这里倾向于CDATA.
<Name>Bob & Tom</Name>
我会倾向于逃离这里.
我想避免盲目地CDATA的每一次,但从性能的角度看,这似乎是合乎逻辑的选择.这将总是比寻找无效的char更快,如果它存在然后换行.
思考?
CDATA主要用于IMO的可读性.就机器而言,CDATA和转义文本之间的距离最大不同于长度.也许逃脱的版本需要一点时间才能处理,但是我也许会说,因为除非你的应用程序主要是IO绑定,否则这不应该是一个重要的因素.
原文链接:https://www.f2er.com/xml/292791.html人们有可能正在阅读XML吗?如果没有,只需让XML解析器做它所做的,不用担心CDATA vs转义文本.如果人们会阅读这个XML,那么也许CDATA可以是更好的选择.
如果你有一个XML元素的值是XML,那么在这种情况下,CDATA可能是更好的选择.
有关更多信息,请参阅XML常见问题的问题When should I use a CDATA Marked Section?