I documenti XML non supportano l'inserimento di caratteri speciali all'interno dei nodi. Per questo scopo è possibile utilizzare delle apposite sezioni CData, al cui interno è possibile inserire dati dalla connotazione diversa da quella tipica XML e che, quindi, possono contenere anche caratteri speciali.
LINQ mette a disposizione un apposito oggetto chiamato XCData, il cui costruttore riceve come argomento una stringa che viene inserita appunto come sezione CData all'interno di un documento XML.
Questo esempio in Visual Basic 2008 mostra come inserire una sezione CData all'interno di un documento XML, utilizzando l'oggetto XCData:
Dim stringa As String = "Questa stringa contiene caratteri <> speciali"
Dim CData As New XCData(stringa)
Dim document As XDocument = <?xml version="1.0"?>
<Prova>
<%= CData %>
</Prova>
Come potete vedere, l'utilizzo di una embedded expression consente di aggiungere poi la stringa all'interno del nodo.
Alessandro