【问题标题】:Overusing CDATA in XML?在 XML 中过度使用 CDATA?
【发布时间】:2019-02-22 11:55:37
【问题描述】:

我正在与使用 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 的代码的人。我们无法读懂他们的想法。
  • "常规 XML 转义不能解释地址中的文本吗?" — 在任何情况下,您都可以使用不能使用转义的 CDATA(而且您的示例中的数据也不需要)。

标签: xml cdata


【解决方案1】:

为什么要这样做?常规 XML 转义不能解释地址中的文本吗?

之所以这样做,是因为当某些角色或其他角色没有正确逃脱时,有人不想处理未来的问题。 CDATA 让问题迎刃而解。

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

我正在与一家国家邮政公司整合

你不会改变任何人的想法。最好的办法就是让人们生气。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-06
    相关资源
    最近更新 更多