首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将字符串转义为XML

将字符串转义为XML
EN

Stack Overflow用户
提问于 2009-07-15 16:30:57
回答 7查看 109.3K关注 0票数 99

有没有什么C#函数可以用来转义和取消转义字符串,可以用来填充XML元素的内容?

我使用的是VSTS2008+ C# + .Net 3.0。

编辑1:我正在连接简单而简短的XML文件,并且我没有使用序列化,所以我需要手动显式转义XML字符,例如,我需要将a<b放入<foo></foo>中,所以我需要转义字符串a<b并将其放入元素foo中。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-07-15 16:39:51

代码语言:javascript
复制
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;
}
票数 80
EN

Stack Overflow用户

发布于 2009-07-15 17:08:16

票数 135
EN

Stack Overflow用户

发布于 2013-10-21 23:33:58

感谢@sehe的一行转义:

代码语言:javascript
复制
var escaped = new System.Xml.Linq.XText(unescaped).ToString();

我在其中添加了一行不转义:

代码语言:javascript
复制
var unescapedAgain = System.Xml.XmlReader.Create(new StringReader("<r>" + escaped + "</r>")).ReadElementString();
票数 27
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1132494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档