Come includere una e commerciale (&) nel contenuto di un ComboBoxItem


84

Al momento ho una Combobox come la seguente:

//XAML
<ComboBox>
<ComboBoxItem> Awake & Alive</ComboBoxItem>
</ComboBox>

Ciò genera un errore: i riferimenti o le sequenze di entità che iniziano con una e commerciale "&" devono terminare con un punto e virgola ";".

Presumo che mi manchi una sequenza di escape di qualche tipo per permettermi di usare un &. Come posso impostare il contenuto di questo elemento della casella combinata per includere un &?

Risposte:


174

Utilizzare &amp;per codificare la e commerciale.

//XAML
<ComboBox>
<ComboBoxItem> Awake &amp; Alive</ComboBoxItem>
</ComboBox>

20

La risposta breve è usare &amp;per codificare una e commerciale.

Vedere anche Entità: gestione di contenuti speciali su XML.com:

Ai livelli più bassi un parser XML è solo un programma che legge un carattere alla volta in un documento XML e lo analizza in un modo o nell'altro, quindi si comporta di conseguenza. Sa che deve elaborare alcuni contenuti in modo diverso rispetto ad altri contenuti. Ciò che distingue questi casi speciali è la presenza di caratteri come " &" e " <". Agiscono come flag per il parser; delimitano il contenuto effettivo del documento, avvisando il parser del fatto che a questo punto deve fare qualcosa che non sia semplicemente passare il contenuto adiacente a qualche applicazione a valle.

... Quindi un modo per aggirare il problema immediato è quello di sostituire la e commerciale nel contenuto con il riferimento all'entità appropriata: <company>Harris &amp; George</company>.


Ho corretto la terminologia (codifica contro fuga) nella mia risposta. Grazie per averlo portato alla mia attenzione.
Andy West

Il tuo link ha utili confronti per>, <, "e '. Consulta la tabella che inizia con" Entity reference Stands for ... "
CrimsonX

Questa è una risposta grt :) grazie :)
Apoorva

7

In alternativa, puoi utilizzare il tag CDATA attorno al contenuto dell'elemento ComboBoxItem; Penso che mantenga meglio la leggibilità del testo.

//XAML
<ComboBox>
<ComboBoxItem><![CDATA[Awake & Alive]]></ComboBoxItem>
</ComboBox>

Per riferimento: http://www.w3schools.com/xmL/xml_cdata.asp

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.