我需要清理一些xml另一个错过的解析器

时间:2009-11-25 10:27:47

标签: asp.net

我需要摆脱的符号是& (当它在转义序列中正确使用时除外)。所以我想找到所有“琼斯先生和夫人”并用“&夫人先生”重新表达他们。所以我正在为“&”或“&”的所有实例而烦恼。我需要用&

替换它们

当然听起来像RegEx的工作;我很高兴!但如果有帮助的话,我会羡慕它。

任何感恩节回答给我吗?

3 个答案:

答案 0 :(得分:3)

试试这个:

Regex.Replace(input, @"&(?!\w+;|#\d+;|#x[0-9a-fA-F]+;)", "&");

这将替换任何孤儿&以获得正确的转义序列。

答案 1 :(得分:0)

使用HttpUtility.HtmlEncode(your string)

答案 2 :(得分:-1)

如果你正在进行普通的旧字符串操作,最简单的(尽管可能不是最有效的)方法是只使用两个替换:

string xml = "Mr. & Mrs. Jones  ";
xml = xml.Replace("&", " ");
xml = xml.Replace("  ", " ");

您可以使用StringBuilder并构建一个快速循环来查找所有“&”哪个也能很好用......

正则表达式也会很有效,但我总是忘记发布条件......

**编辑:忘记了其他转义序列,所以这个解决方案最好不完整**