如何读/写文本并避免使用特殊字符符号(<,,>等)

Fra*_*ega 0 c# xml encoding character-encoding special-characters

我目前正在解析存储在数据库中的一些C#脚本,提取代码中某些方法的主体,然后编写一个显示id的XML文件,提取方法的主体等.

我现在写的问题是,当我在XML中编写代码时,我必须将其写为文字字符串,所以我认为我需要"在开头和结尾添加:

new XElement("MethodName", @"""" + Extractor.GetMethodBody(rule.RuleScript, "MethodName") + @"""")
Run Code Online (Sandbox Code Playgroud)

这有效,但我有一个问题,在DB中写的东西

for (int n = 1; n < 10; n++)
Run Code Online (Sandbox Code Playgroud)

被写入XML文件(或打印到控制台):

for (int n = 1; n &lt; 10; n++)
Run Code Online (Sandbox Code Playgroud)

如何让它打印实际字符而不是代码?数据库中的代码是用实际的字符编写的,而不是&lt;像"安全" 一样.

Mar*_*ell 7

中的XML(作为文本值),这是正确<编码为&lt;.xml的内部表示不会影响该值,因此请对其进行编码.你可以通过强制CDATA部分解决这个问题,但说实话 - 这是不值得的.但这是一个使用CDATA的例子:

string noEncoding = new XElement("foo", new XCData("a < b")).ToString();
Run Code Online (Sandbox Code Playgroud)