LINQ to XML делает правильные вещи - он предполагает, что когда вы задаете ему строку в качестве контента, это контент, который вы хотите увидеть. Он спасается для тебя. Вы действительно не хотите убегать каждый <
, >
и &
самостоятельно.
Что вам нужно сделать, это дать ему фактический контент, который вы хотите - который является символом бесконечности. Итак, попробуйте это:
var table = new XElement("table",
new XElement("tr",
new XElement("td", "\u8734")
)
);
Это может в конечном итоге оказаться не как сущность в выходном файле, а просто закодированный символ - но это должно быть в порядке, если у вас нет проблем с кодированием.
РЕДАКТИРОВАТЬ: Я только что проверил, и символ бесконечности на самом деле U + 221E, поэтому вы хотите вместо "\ u221e". На самом деле я не могу понять, что такое U + 8734 ... в настоящий момент он не может быть определен в Юникоде.