xml - 在 XML 中过度使用 CDATA?
问题描述
我正在与使用 XML 指定货件清单(在给定日期发送的邮件)的国家邮政承运人集成。规范要求地址中的每个元素都包含在 CDATA 部分中。
为什么要这样做?常规 XML 转义不能解释地址中的文本吗?
例如:
<RecipientInfo>
<RecipientName><![CDATA[Michael Ong]]></RecipientName>
<RecipientAddress1><![CDATA[test address 1]]></RecipientAddress1>
<RecipientAddress2><![CDATA[test address 2]]></RecipientAddress2>
<RecipientPostalCode><![CDATA[21533]]></RecipientPostalCode>
<RecipientContactNumber><![CDATA[96600000001]]></RecipientContactNumber>
</RecipientInfo>
<SenderInfo>
<SenderName><![CDATA[Sally Ng]]></SenderName>
<SenderAddress1><![CDATA[sender address 1]]></SenderAddress1>
<SenderPostalCode><![CDATA[518000]]></SenderPostalCode>
</SenderInfo>
解决方案
为什么要这样做?常规 XML 转义不能解释地址中的文本吗?
之所以这样做,是因为当某些角色或其他角色没有正确逃脱时,有人不想处理未来的问题。CDATA 使问题消失。
可能某个地方的设计团队从互联网上提取了一个样本并使用了 CDATA,所以现在它是你的了。8-)
我正在与一家国家邮政承运人整合
你不会改变任何人的想法。你能做的最好的事情就是让人们生气。
做他们想做的事,继续你的生活。
推荐阅读
- javascript - 如何每秒渲染 ReactDOM?
- java - 仅在类中使用的公共方法的警告
- javascript - 在 Javascript 中创建弹丸
- git - 如何更新我的本地 master 分支以包括对我的本地功能分支所做的更改,这些更改在源(远程)master 上是最新的?
- c# - 在 Moq 中调用 Setup() 时出现 System.NotSupportedException
- java - 使用 Selenium 从网页中提取数据时遇到问题
- php - 在路由函数中读取刀片变量
- android - RetroFit 处理 Kotlin 中的通用响应
- ruby-on-rails - Rails 5.2 中的 ActiveRecord:保存/更新不保存记录,即使它说保存
- c - Cython 崩溃调用打印功能