在 XML 中过度使用 CDATA?

Overusing CDATA in XML?

我正在与使用 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>

Why is this being done? Can't regular XML escaping account for text in an address?

之所以这样做,是因为当某些角色或其他角色未正确转义时,有人不想处理后续问题。 CDATA 让问题消失。

可能某个地方的某个设计团队从 Internet 上提取了一个样本并使用了 CDATA,所以现在它是你的了。 8-)

I'm integrating with a national postal carrier

你不会改变任何人的想法。你最多只会让人生气。

做他们想做的,继续你的生活。