這是一個常見問題,但我找不到滿足我的答案。 我正在使用一種專有工具(SIMATIC IT MES系統),當我用屬性值中的'<'符號向其XML解析工具提供XML時,它會扼殺它。 據我所知,字符串文字中的屬性值應該被視爲CDATA,因此XML應該是有效的,這就是大多數在線驗證器所說的。 這是正確的嗎?解析器是否有錯或者我錯過了什麼?是否有一個解決方案不涉及手動替換與其實體等效的冒犯角色?我排除XML文本以供參考:XML屬性值中的控制字符
<PARAM ATT1='DESPIECE'
ATT2='BU_O_DES'
ATT3= '1'
ATT3= '0'
ATT4='1.0'
ATT4= 'BU.SD01.L02'
ATT5= 'BU.SD01.L02'
ATT6='1ESP1586CV00'
ATT7='CLASS FIFO AÑOJO < 350'
ATT8='08/06/2016'
ATT9='115001'
MARCA_EMPRESA='false'
VARIANTE=''
ID_CLASS_ESTABILIZACION='91'
/>
違規字符在ATT7中。
謝謝。
名稱「CDATA」在XML中有兩個完全不同的含義,僅與SGML中的一個共同遺產相關。出現在元素中的「CDATA節」允許您在不轉義的情況下使用特殊字符,例如'<'和'&'。在DTD(顯式或隱式)中用類型CDATA聲明的屬性不會。 –
謝謝!我想這讓我感到困惑。 –