我不明白CDATA的想法

I don't understand the idea of CDATA

我有一个客户要求:

         <account>
         <Salutation><![CDATA[Dear Customer]]></Salutation>
         </account>

我不明白他们为什么提到这个。当我尝试用

显示它时
         <xsl:value-of select="account/Salutation" /> 

我得到了正常的输出 Dear Customer。如果这是所需的输出,那么为什么会提到 CDATA?或者它应该产生 [Dear Customer] - 输出 []?

  1. <![CDATA 允许 XML 处理器跳过 ]]> 这在许多情况下很有用,例如就像在您的示例中一样:在 XML 信封内传输用户生成的数据。

    CDATA 部分之间的数据不得遵循 XML 编码规则,因此可以按原样传输。但还有其他用例:

    • When is a CDATA section necessary within a script tag?
    • What does <![CDATA[]]> in XML mean?
    • Are CDATA sections really unnecessary?
    • Useful article at www.ibm.com
  2. 在您的示例中,传输的数据是:Dear Customer<![CDATA[]] 仅适用于 XML 处理器。