C# 如何在c中转义字符串中的字符#

C# 如何在c中转义字符串中的字符#,c#,xml,string,C#,Xml,String,我有这个字符串,并且得到一个错误 字符串文本= <root><Info id="inseID">17</Info><note><123comments></note></root> 17 我想把它改成 <root><Info id="inseID">17</Info><note>&lt;123comments&am

我有这个字符串,并且得到一个错误

字符串文本=

<root><Info id="inseID">17</Info><note><123comments></note></root>
17
我想把它改成

<root><Info id="inseID">17</Info><note>&lt;123comments&gt;</note></root>
17123注释
使用linq转换xml

var text = "<root><Info id=\"inseID\">17</Info><note></note></root>";
var xml = XElement.Parse(text);
xml.Element("note").Add("<123comments>");
//string result = xml.ToString(); // will be escaped
var text=“17”;
var xml=XElement.Parse(文本);
元素(“注释”)。添加(“”);
//字符串结果=xml.ToString();//将会逃脱

为什么不直接使用当前的编写方式?任何xml编写器、序列化器或DOMAPI都可以做到这一点,而无需您做任何事情;如果您是通过连接字符串来构建xml,我主要会说“不要那样做”欢迎使用堆栈溢出。请给我们更多的背景。您是否真的传递了无效的XML,然后必须对其进行处理?或者您确实有一个字符串“”希望在XML中用作值?如果你能提供一个准确地反映你的情况,那将是非常有用的。没有转义字符。只需编辑(或正确添加)。您仍然需要修复生产者代码。答案显示了如何使用LINQ to XML实现这一点,但是与XmlDocument相关的类也会在保存文本之前转义文本