如何用定义的字符串替换xml文件中的某个部分?
<tag1></tag2>
<tag2></tag2>
...etc
<soundcard num=0>
<name>test123</name>
</soundcard>
<soundcard num=1>
<name>test123</name>
</soundcard>
<soundcard num=2>
<name>test123</name>
</soundcard>
<tag5></tag5>
替换结果看起来像这样的所有声卡部分:
<tag1></tag2>
<tag2></tag2>
...etc
{0}
<tag5></tag5>
我正在使用 c# .net 3.5,我想到了正则表达式解决方案
请您参考如下方法:
如果它必须是一个正则表达式,那么您的 XML 文件是格式正确的,并且您知道(例如,从 DTD)<soundcard>标签不能嵌套,那么可以用
(<soundcard.*?</soundcard>\s*)+
并将所有替换为{0} .
在 C# 中:
resultString = Regex.Replace(subjectString, @"(<soundcard.*?</soundcard>\s*)+", "{0}", RegexOptions.Singleline);
对于一次性问题的快速修复,我认为没问题。一般而言,将正则表达式视为处理 XML 的合适工具是错误的。
