有没有什么C#函数可以用来转义和取消转义字符串,可以用来填充XML元素的内容?
我使用的是VSTS2008+ C# + .Net 3.0。
编辑1:我正在连接简单而简短的XML文件,并且我没有使用序列化,所以我需要手动显式转义XML字符,例如,我需要将a<b
放入<foo></foo>
中,所以我需要转义字符串a<b
并将其放入元素foo中。
发布于 2009-07-15 16:39:51
public static string XmlEscape(string unescaped)
{
XmlDocument doc = new XmlDocument();
XmlNode node = doc.CreateElement("root");
node.InnerText = unescaped;
return node.InnerXml;
}
public static string XmlUnescape(string escaped)
{
XmlDocument doc = new XmlDocument();
XmlNode node = doc.CreateElement("root");
node.InnerXml = escaped;
return node.InnerText;
}
发布于 2009-07-15 17:08:16
发布于 2013-10-21 23:33:58
感谢@sehe的一行转义:
var escaped = new System.Xml.Linq.XText(unescaped).ToString();
我在其中添加了一行不转义:
var unescapedAgain = System.Xml.XmlReader.Create(new StringReader("<r>" + escaped + "</r>")).ReadElementString();
https://stackoverflow.com/questions/1132494
复制相似问题