2012-12-31 3 views
2

다음은 속성 값을 대체해야하는 source/destine XML (Web.Config) 파일의 내용입니다. 이 작업은 여러 설정 파일에 대해 수행해야하므로 powershell을 사용하여 도움을 받으십시오. 나는Xpath를 사용하여 XML 파일의 속성 값을 바꿔야 함

<?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> 

이 XML 파일 위에서 "ConnectionString에"라는 이름의 속성을 조회하는 내 파워 쉘 코드입니다 .. stackOverFlow-에 사용할 수 있지만 힘이 그것을 만들 문자열을 대체하는 코드로 시도 않았다

$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 를 ConnectionString : 서버 = DDD05DB01,63518; 데이터베이스 = BBBDB001; Trusted_Connection = TRUE; multipleactiveresultsets = 진정한; 풀링 = 거짓

이름 : CoreItemContext 를 ConnectionString : 서버 = DDD15DB03,63520; 데이터베이스 = BBBDB002; Trusted_Connection = TRUE; ; multipleactiveresultsets이 = 사실 풀링 = 사실

지금, 내가 좋아하는 세부 사항 '을 ConnectionString을 '속성의 값을 대체 할 : DBD05DB01,63518 서버 =을, 데이터베이스 = DDBDB001; Trusted_Connection = TRUE; multipleactiveresultsets = TRUE; 풀링 = 양쪽 모두에서 false (PrcEntities & CoreItemContext)

이 변경 사항은 동일한 소스 파일에 저장해야합니다. 이걸 도와주세요 !!

답변

5
$path = "D:\Web.Config" 
[xml]$xml = Get-Content $path 

$xml.configuration.connectionStrings.add | Foreach-Object { 
    $_.connectionString = 'Server=DBD05DB01,63518;Database=DDBDB001;Trusted_Connection=true;multipleactiveresultsets=true;Pooling=false' 
} 

$xml.Save($path) 
+0

Shay Levy에게 감사드립니다. 완벽하게 작동합니다! – Raaj

관련 문제