如何在XmlNode C#

时间:2016-08-24 14:18:55

标签: c# xml

我不得不为第三方创建XML文档,并且在他们的规范中他们说他们需要<>&"和'逃过一劫。当我设置XMLNode的InnerText时,我只得到<>和&自动逃脱。 "和'一个人待着。经过一番挖掘后,我发现这些都是有效的,这就是为什么它们不会被转义。不幸的是,第三方需要这个。

我发现System.Security.SecurityElement.Escape将会转义我需要的所有字符,但是当我设置XMLNode的InnerText时,它会在我放入的转义字符中逃脱我的&符号,所以我得到&安培; QUOT;而不是& QUOT ;.和&之间没有空格。其余的但我需要这样才能在文本中正确显示。我尝试设置InnerXML而不是InnerText,但这似乎是我的字符串unescape所以它看起来像我手动转义之前。

XmlNode nameNode = xmlDoc.CreateElement("name");
nameNode.InnerText(); = System.Security.SecurityElement.Escape(countyInfo.CountyName.ToUpper());

关于我如何处理这个问题的任何想法?

1 个答案:

答案 0 :(得分:0)

使用System.Net.WebUtility.HtmlEncode对字符串进行编码。

& quot;& apos;是HTML实体编码,因此他们要求您对任何字符串值进行HTML编码。