2012-03-02 12 views

risposta

29

Prova

xElement.Element(elementName).ReplaceNodes(new XCData(value)); 
+0

Grazie :) e solo aggiungere per me avevo bisogno di CDATA per sostituire un altro elemento che aveva più fratello nodi in modo usato ReplaceWith ma l'idea è venuta dalla tua risposta. –

36

XCData è un tipo di XNode. Come tale, si dovrebbe cercare di Add al elemento, piuttosto che impostare il valore (che è documented essere il contenuto del testo appiattito dell'elemento):

xElement.Element(elementName).Add(new XCData(value)); 
+1

Avevo già capito come farlo per "aggiunge". Soz! –

31

Se si sta creando il XElement (vs. modifica esso), si può anche solo aggiungere aggiungerlo direttamente nel costruttore come il contenuto in questo modo:

new XElement(elementName, new XCData(value));