Я использую LINQ to XML для создания файла Excel XML .Я хочу включить новые строки в ячейках.Excel использует литерал
для представления новой строки.Если я пытаюсь добавить это, используя XText:
XText newlineElement = new XText( "Foo Bar" );
, я получаю:
Foo
Bar
, который отображается в Excel как:
Foo Bar
Есть ли способ записать 

в файл XML без выполнения
String.Replace( "
", " " )
поверх полученного текста файла?
РЕДАКТИРОВАТЬ Вот фрагмент кода, показывающий, как я создаю строку для документа Excel.Я избегал этого, так как это немного грязно.:) Дайте мне знать, поможет ли больше кода, или это просто добавляет путаницы.
В этом примере описанный выше newlineElement
представлен единственным XText в примере кода.
const string CELL = "{urn:schemas-microsoft-com:office:spreadsheet}Cell";
const string DATA = "{urn:schemas-microsoft-com:office:spreadsheet}Data";
const string STYLE = "{urn:schemas-microsoft-com:office:spreadsheet}StyleID";
const string TYPE= "{urn:schemas-microsoft-com:office:spreadsheet}Type";
const string HEIGHT = "{urn:schemas-microsoft-com:office:spreadsheet}Height";
const string ROW = "{urn:schemas-microsoft-com:office:spreadsheet}Row";
...
XElement rowElement = new XElement( Row,
new XElement( CELL,
new XAttribute( STYLE, "s0" ) ),
new XElement( CELL,
new XElement( DATA,
new XText( description.Replace("\n", " ") ),
new XAttribute( TYPE, "String" ) ),
new XAttribute( STYLE, "sWrap" ) ),
new XElement( CELL,
new XAttribute( STYLE, "s0" ) ),
new XAttribute( HEIGHT, height ) );
Это дает:
<ss:Row ss:Height="45">
<ss:Cell ss:StyleID="s0" />
<ss:Cell ss:StyleID="sWrap">
<ss:Data ss:Type="String">Foo&#10;Bar</ss:Data>
</ss:Cell>
<ss:Cell ss:StyleID="s0" />
</ss:Row>
Спасибо за помощь!