Have you ran into scripting situations where opening a file would result in locking from being editable by other users or processes? As a standard practice, it’s a good idea to have a habit of setting the correct intention of accessing a file using this example sequence:

$file='someXmlFile.xml'
$reader = New-Object System.IO.StreamReader($file)
$xml = $reader.ReadToEnd() # cast the variable as XML so PowerShell would handle it correctly
$reader.Close()