Linq to XML - 尝试打印Infinity符号

Jef*_*ron 2 html c# xml linq-to-xml

我正在使用Linq to XML来获取一些HTML输出文件.我需要∞在某些表格单元格的输出代码中放置无穷大符号().我正在创建一个像这样的XElement

var table = new XElement("table",
            new XElement("tr",
                new XElement("td", "∞")
            )
        );
Run Code Online (Sandbox Code Playgroud)

var document = new XDocument(table); document.Save(MYFILE);

当文件被保存时,我没有看到∞,相反,我明白了&#8734.如何防止此翻译发生?

Jon*_*eet 5

LINQ to XML正在做正确的事情 - 它假设当你给它一个字符串作为内容时,那就是你想要看到的内容.它正在为你逃避.你真的不希望有逃避每个<,>&你自己.

你需要做的是给它你想要实际内容 - 这是无穷大符号.试试这个:

var table = new XElement("table",
            new XElement("tr",
                new XElement("td", "\u8734")
            )
        );
Run Code Online (Sandbox Code Playgroud)

这可能最终不会作为输出文件中的实体出现,只是编码字符 - 但这应该没问题,只要你没有编码问题.

编辑:我刚检查过,无穷大符号实际上是U + 221E,所以你想要"\ u221e"代替.我实际上无法看到U + 8734的含义......目前可能无法在Unicode中定义.