如何在XmlNode c#中转义引号和撇号

本文关键字:转义 XmlNode | 更新日期: 2023-09-27 18:03:43

我必须为第三方创建一个XML文档,在他们的规范中,他们说他们需要<>&"和' escape '。当我设置XMLNode的InnerText时,我只得到<>和&自动转义。"answers"被单独留下。经过一番挖掘,我发现这些是有效的,这就是为什么他们没有逃脱。不幸的是,第三方要求我这样做。

我发现System.Security.SecurityElement.Escape将转义我需要的所有字符,但是当我设置XMLNode的InnerText时,它会转义我输入的转义字符中的&号,所以我得到&";而不是&"。字符& &;之间没有空格。还有其他的,但是我需要在这里正确地显示文本。我尝试设置InnerXML而不是InnerText,但这似乎没有转义我的字符串,所以它看起来像它之前我手动转义它。

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

有什么好主意吗?

如何在XmlNode c#中转义引号和撇号

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

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