gpt4 book ai didi

c# - 用正则表达式替换 xml 标签

转载 作者:太空宇宙 更新时间:2023-11-03 19:34:31 27 4
gpt4 key购买 nike

如何用定义的字符串替换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 的合适工具是错误的。

关于c# - 用正则表达式替换 xml 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2655658/

27 4 0