将十六进制替换回原始字符串文本

时间:2014-04-10 11:01:10

标签: c# xml string hex

使用以下方法在Web Service中调用XDocument.LoadXml之前替换无效的xml字符:

[WebMethod]
public XmlDocument GetXml(string text)
{
    XElement xElement = new XElement("RootNode");
    xElement.Add(new XElement("title", SanitizeHexaDecimalSymbol(text))
    var xmldoc = new XmlDocument();
    xmldoc .LoadXml(xElement.Tostring())
}

private static string SanitizeHexaDecimalSymbol(string txt)
{
   string regEx = "[\x00-\x08\x0B\x0C\x0E-\x1F\x26]";
   return Regex.Replace(text, regEx, "", RegexOptions.Compiled);
}

如何将已清理的文本替换回原始文本。 我不想使用硬编码方式将文本替换回原始文本。

有没有一种方法我可以调用DesanitizeHexaDecimalSymbol(text)方法,我不知道这个方法中的实现是什么来取回原始文本。

解决方案: 我按照@Zohar解决方案将其作为替换原始文本的十六进制符号。

0 个答案:

没有答案