我使用PowerShell递归地替换XML文件中的文本。该脚本在替换中工作正常。但是,XML文件也具有不应该被替换的文件路径。这是剧本目前正在使用XML文件中的条件替换
if ($content -match ' web site | web-site ') {
$content -replace ' web site ',' New Site ' -replace ' web-site ',' New Site ' |
Out-File $file.FullName -Encoding utf8
例如,如果XML文件有
<title>web site</title>
<subtitle>web-site</subtitle>
<path>c:/web site/website.xml</path>
预期的输出应该如下。文件路径中的匹配文本应该被忽略。如何添加一个条件来忽略该字符串,如果它在/web site/
或/web-site.xml
之间?
<title>New Site</title>
<subtitle>New Site</subtitle>
<path>c:/web site/website.xml</path>
@Ansgar和mklement有出现在那里将与前文太喜欢后有空格'新网站 description>'这就是为什么我想知道是否有任何快速修复忽略/文本/任何正则表达式。是否有任何quickfix的狐狸为此,或者你可以给我一个领导来处理这个XML解析 –
user2628187
@ user2628187:请参阅我的更新。 Ansgar的回答专门针对'title'和'subtitle'元素,所以我希望它能够按原样运行(除非你不想使用明确的元素名称列表)。 – mklement0