RegEx从XML中删除字符(XML返回时髦)

时间:2014-09-25 03:17:42

标签: c# xml regex

我使用Universe数据库从文件中检索某些XML,并且由于某种原因它会将其返回:

<RESPONSE InternalAccountIdentifier=\"ZZMTGBLDR\" />

我需要在&#34; =&#34;之后删除&#34; \&#34;&#34;在结束报价之前。这是实际返回的xml,我需要解析!

任何人都可以帮我写一个正则表达式,以便我可以替换它的所有实例,并为属性提供干净的值吗?

我对正则表达式完全陌生,并且完全不懂如何编写它们。我一直试图做xml.Replace(@&#34; = \&#34;,&#34; =&#34;)和xml.Replace(@&#34; \&#34; &#34;,&#34;&#34;&#34;)(其中xml是我返回的xml字符串)

我无法让它工作,并且正在考虑正则表达式可以解决我的问题。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用以下c#代码在\签名之后删除=,并在结束引号之前删除\个符号。

string str = @"<RESPONSE InternalAccountIdentifier=\""ZZMTGBLDR\"" /> \""foo bar"" ";
string remove = Regex.Replace(str, @"(""[^""]*)\\""", "$1\"");
string result = Regex.Replace(remove, @"(?<==)\\", "");
Console.WriteLine(result);
Console.ReadLine();

IDEONE