0

I would like to fix some xml files seperated on multiple sites and document libraries in powershell. I have in a csv file the url of all these xml documents. So I already have some loop for each xml path. But how can I modify the content of these xml files? Do I need to download the file, modify it local and upload it again?

1 Answer 1

1

Yes, we need to download the XML file and update as per your need then upload back to the same location:

For update sample, you can refer the below PowerShell:

$Path = "\\spsite\sites\subsite\Library\"
$Files = Get-ChildItem $Path | where {$_.extension -eq ".xml"}
foreach($file in $Files){
    $xml = New-Object XML
    $xml.PreserveWhitespace = $true
    $xml.Load($file.fullname)
    $xml.myFields.PhoneNumber = "234-5678"//update your fields on the form
    $xml.Save($file.fullname)
}

Reference:

Powershell to replace text in infopath XML files

OR

If your XML files are relatively smaller in size - then you may use the MemoryStream - MemoryStream sample as below:

$Stream = New-Object System.IO.MemoryStream
$UDCX.Save($Stream)
$document.SaveBinary($Stream.ToArray())

Reference:

Using powershell to read/modify/rewrite sharepoint xml document

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.