Я знаю, что вы сказали C #, но вы пробовали VB.NET для XML литералов. Удивительные вещи.
Public Class Program
Public Shared Sub Main()
Dim myKeyBoardStyle = "dvorak"
Dim myXML As XElement = <ROOT>
qwerty
<altKeyboard><%= myKeyBoardStyle.ToUpper() %></altKeyboard>
<SampleElement>adsf</SampleElement>
<SampleElement2>The text of the sample element2</SampleElement2>
</ROOT>
Console.WriteLine(myXML.ToString())
myXML.Save(".\fileFromXElement.xml")
End Sub
End Class
Обратите внимание на аккуратный элемент, который вставляет результат кода в вывод:
<?xml version="1.0" encoding="utf-8"?>
<ROOT>
qwerty
<altKeyboard>DVORAK</altKeyboard><SampleElement>adsf</SampleElement><SampleElement2>The text of the sample element2</SampleElement2></ROOT>
snip [удалено мнений]