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 < 10; n++)
Run Code Online (Sandbox Code Playgroud)
如何让它打印实际字符而不是代码?数据库中的代码是用实际的字符编写的,而不是<像"安全" 一样.
中的XML(作为文本值),这是正确的<编码为<.xml的内部表示不会影响该值,因此请对其进行编码.你可以通过强制CDATA部分解决这个问题,但说实话 - 这是不值得的.但这是一个使用CDATA的例子:
string noEncoding = new XElement("foo", new XCData("a < b")).ToString();
Run Code Online (Sandbox Code Playgroud)