我使用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