연결 문자열을 수정하는 데 필요한 XML 파일이 있습니다. 다음은 파일의 예입니다.
<policy>
<application-policy name="Part1">
<authentication>
<login-module code="jboss.loginmodule" flag="required">
<module-option name="allowEmptyPasswords">false</module-option>
<module-option name="dbUrl">jdbc:oracle:thin:@hostname:1521/test=</module-option>
</login-module>
</authentication>
</application-policy>
<application-policy name="Part2">
<authentication>
<login-module code="jboss.loginmodule" flag="required">
<module-option name="allowEmptyPasswords">false</module-option>
<module-option name="dbUrl">jdbc:oracle:thin:@hostname:1521/test=</module-option>
</login-module>
</authentication>
</application-policy>
<application-policy name="Part3">
<authentication>
<login-module code="jboss.loginmodule" flag="required">
<module-option name="allowEmptyPasswords">false</module-option>
<module-option name="dbUrl">jdbc:oracle:thin:@hostname:1521/test=</module-option>
</login-module>
</authentication>
</application-policy>
<application-policy name="Part4">
<authentication>
<login-module code="jboss.loginmodule" flag="required">
<module-option name="allowEmptyPasswords">false</module-option>
<module-option name="dbUrl">jdbc:oracle:thin:@hostname:1521/test</module-option>
</login-module>
</authentication>
</application-policy>
</policy>
module-option
네 곳에있는 "jdbc : oracle : thin : @hostname : 1521 / test"문자열을 어떻게 변경할 수 있습니까 ?
문자열은 항상 동일하며 동일한 변수에서 4 번 교체됩니다.
아래는 내가 시도한 것이지만 실제로는 "dbUrl"이라는 이름을 처음으로 만 변경하는 것입니다.
$xmlFile = "C:\Users\Dan\Desktop\login-Config.xml"
[xml]$doc = Get-Content $xmlFile
$node = $doc.SelectSingleNode("/policy/application-policy/authentication/login-module/module-option[@name='dbUrl']")
$node.name = "jdbc:oracle:thin:@hostname1:1521/test1"
$doc.Save($xmlFile)
다음은 출력이 표시되기를 바라는 것입니다.
<policy>
<application-policy name="Part1">
<authentication>
<login-module code="jboss.loginmodule" flag="required">
<module-option name="allowEmptyPasswords">false</module-option>
<module-option name="dbUrl">jdbc:oracle:thin:@hostname1:1521/test1/test=</module-option>
</login-module>
</authentication>
</application-policy>
<application-policy name="Part2">
<authentication>
<login-module code="jboss.loginmodule" flag="required">
<module-option name="allowEmptyPasswords">false</module-option>
<module-option name="dbUrl">jdbc:oracle:thin:@hostname1:1521/test1/test=</module-option>
</login-module>
</authentication>
</application-policy>
<application-policy name="Part3">
<authentication>
<login-module code="jboss.loginmodule" flag="required">
<module-option name="allowEmptyPasswords">false</module-option>
<module-option name="dbUrl">jdbc:oracle:thin:@hostname1:1521/test1/test=</module-option>
</login-module>
</authentication>
</application-policy>
<application-policy name="Part4">
<authentication>
<login-module code="jboss.loginmodule" flag="required">
<module-option name="allowEmptyPasswords">false</module-option>
<module-option name="dbUrl">jdbc:oracle:thin:@hostname1:1521/test1/test</module-option>
</login-module>
</authentication>
</application-policy>
</policy>
모두 원하는 경우 SelectNodes()
대신 사용하고 다음 대신 속성에 SelectSingleNode()
작성하십시오 .InnerText
Name
foreach($urlNode in $doc.SelectNodes("/policy/application-policy/authentication/login-module/module-option[@name='dbUrl']")){
$urlNode.InnerText = "jdbc:oracle:thin:@hostname1:1521/test1"
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다