使用正则表达式捕获组替换部分XML

本文关键字:替换部 XML 正则表达式 | 更新日期: 2023-09-27 18:01:42

我想捕获XML字符串的一部分,并用新的值替换捕获的值。

我有以下代码:

Regex regex = new Regex("<ns1:AcctId>(?<AcctId>.*?)</ns1:AcctId>");
Match match = regex.Match(Xml);
string AcctId = match.Groups["AcctId"].Value;
string IBANizedAcctId = IBANHelper.ConvertBBANToIBAN(AcctId);
newXml = Regex.Replace(oldXml, regex, IBANizedAcctId); //DOES NOT WORK!

所以我想在ns1:AcctId XML元素中捕获AcctId。然后我想通过将BBAN转换为IBAN并替换值来替换这个值。第一部分工作,但我不知道如何完成最后一部分(我确实在这里找到了一个想法,但我不理解它)。

我希望有人能帮助我!

使用正则表达式捕获组替换部分XML

Regex regex = new Regex("<ns1:AcctId>(?<AcctId>.*?)</ns1:AcctId>");
Match match = regex.Match(oldXml);
string AcctId = match.Groups["AcctId"].Value;
string IBANizedAcctId = IBANHelper.ConvertBBANToIBAN(AcctId);
newXml = oldXml.Replace(AcctId, IBANizedAcctId); //should work...