以下是源/目标XML(Web.Config)文件的内容,我需要替换一个属性的值。这需要针对多个配置文件进行操作,因此需要使用PowerShell来完成。我尝试过在StackOverFlow上找到的替换字符串的代码,但是并没有成功。
这是我的PowerShell代码,用于查询上述XML文件中名为“ConnectionString”的属性。
<?xml version="1.0"?>
<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<connectionStrings>
<add name="PrcEntities"
providerName="System.Data.SqlClient"
connectionString="Server=DDD05DB01,63518;Database=BBBDB001;Trusted_Connection=true;multipleactiveresultsets=true;Pooling=false"/>
<add name="CoreItemContext"
providerName="System.Data.SqlClient"
connectionString="Server=DDD15DB03,63520;Database=BBBDB002;Trusted_Connection=true;multipleactiveresultsets=true;Pooling=true"/>
</connectionStrings>
..
..
....
</configuration>
这是我的PowerShell代码,用于查询上述XML文件中名为“ConnectionString”的属性。
$Path = "C:\Ps\Web.config"
$con="connectionString"
[xml]$Types = Get-Content $Path
Select-Xml -Xml $Types -XPath "//add" | Select-Object -ExpandProperty Node|Select-Object name,$con | Format-List
这将导致:
名称:PrcEntities 连接字符串:Server=DDD05DB01,63518;Database=BBBDB001;Trusted_Connection=true; multipleactiveresultsets=true;Pooling=false
名称:CoreItemContext 连接字符串:Server=DDD15DB03,63520;Database=BBBDB002;Trusted_Connection=true; multipleactiveresultsets=true;Pooling=true
现在,我想要用以下详细信息替换属性'connectionString'的值: Server=DBD05DB01,63518;Database=DDBDB001;Trusted_Connection=true;multipleactiveresultsets=true;Pooling=false,在两个地方(PrcEntities和CoreItemContext)
这个更改应该保存到同一个源文件中。请帮助我!