Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#,如何编写RegEx.Replace来替换xml元素的值?_C#_Regex - Fatal编程技术网

C#,如何编写RegEx.Replace来替换xml元素的值?

C#,如何编写RegEx.Replace来替换xml元素的值?,c#,regex,C#,Regex,有一个xml字符串,目标是将xml元素值替换为固定字符串,也就是说,对于blah blah replace it to fixed value,我考虑使用RegEx.replace,而不是将字符串加载到DOM模型并替换 有人能帮我写这个正则表达式吗?基本上,目标是匹配元素标记“abc”中的所有内容 非常感谢 正则表达式不适合处理标记。在其他缺陷中,如果元素可以嵌套,它们将不起作用: <abc> ... <abc> ... </abc> ... </abc

有一个xml字符串,目标是将xml元素值替换为固定字符串,也就是说,对于blah blah replace it to fixed value,我考虑使用RegEx.replace,而不是将字符串加载到DOM模型并替换

有人能帮我写这个正则表达式吗?基本上,目标是匹配元素标记“abc”中的所有内容


非常感谢

正则表达式不适合处理标记。在其他缺陷中,如果元素可以嵌套,它们将不起作用:

<abc> ... <abc> ... </abc> ... </abc>
。。。
他们也无法区分评论和非评论


你需要一个真正的XML解析器。

不管它值多少钱,都不要

使用
XmlDocument
XML.Linq
XmlReader/Writer
正常处理XML,这就是它们的用途,涵盖了我们甚至无法想象的各种边缘情况,最重要的是,它们被证明是有效的

请不要使用正则表达式进行此操作。别这样

我的两分钱


让向下投票开始

正则表达式用于语言。XML是一种非常规语言。因此,无法使用正则表达式正确解析其中写入的任何内容。您需要使用一个真正的XML解析器,它可以在C#中提供的许多库中找到

本文将告诉您需要了解的内容:

忽略了最明显的问题解决方案(即使用预先存在的XML解析器),他们认为应该使用正则表达式(regex简称)。现在他们有两个问题

仅在正则语言上使用正则表达式。


也就是说,有一些方法旨在为编写XML正则表达式提供指导他们都错了。但是它们是存在的,使用它们的风险由您自己承担。

不,它们不会因为业务规则而嵌套,我想归档的只是简单地替换xml标记中的任何内容。。。对于常量值new valueTommy,我必须强调其他人以前写过的关于在标记上使用RegEx的内容。出于这个原因,我没有提交一个答案,以防你碰巧把它标记为正确的。小心操作:
\s*(.+?)\s*