2017-10-18 3 views
0

웹에서 XML 파일을 가져와 로컬 디렉터리에 씁니다. XML 파일의 끝에서 태그의 시리즈가있다 :파일의 텍스트를 PowerShell로 바꿉니다.

</Product> 
</Products> 
</Feed> 

내가 (태그 포함) 다른 파일의 내용이 태그를 교체합니다.

$BVProductFeed = Invoke-WebRequest -Uri "[xml web page]" -OutFile "[local directory]" -TimeoutSec 1800000 
$content = [IO.File]::ReadAllText("[file to append]") 

$mergeFile = [IO.File]::ReadAllText("[xml web page]") -replace ("</Product> </Products> </Feed>",$content) | Set-Content "[updated file]" 

스크립트는 잘 실행, 그것은, XML을 아래로 당기는 $ 콘텐츠 파일이 잘 열리지 만 그것이 $mergeFile를 기록 할 때 처음 다운로드 한 $BVProductFeed 파일과 같은 보이는 : 여기 실행하고 내 파워 쉘은 . 나는 그것이 나의 대체 문장에 문제가 있다고 추론하고있다. 태그 사이에 CRLF를 포함해야합니까?

감사합니다.

+1

달성하려는 목표는 무엇입니까? 파일의 끝에''요소를 더 추가 하시겠습니까? 그것이, 당신이 원하는 것이면, 파워 쉘에서 훨씬 더 우아한 방법이 있습니다. –

+0

아, 저는 이것을 더 우아하게하는 방법이 있다는 것을 알고 있습니다. 그러나 저는 이것을 계승했습니다. 처음부터 끝까지 프로세스를 고칠 수있을 때까지는 가지고있는 것들을 사용해야합니다. 현재 전체 프로세스를 수정하려고합니다. 감사. – john

답변

0

예, 전체 문자열을 바꾸려면 CRLF 태그를 테스트에 포함해야했습니다. 일단 이들을 추가하면 텍스트 제거 및 대체를 수행 할 수있었습니다.

관련 문제