Узнать SID пользователя и замена содержимого .xml

Всем привет. Нужно узнать SID пользователя, в таком виде S-1-5-21-2303912444-598105561-2700407050-1001
И произвести замену в файле desktop.xml слова "mySID" на SID который узнали.

Получаю SID текущего пользователя.
string strUser = System.Security.Principal.WindowsIdentity.GetCurrent().User.ToString();
Как заменить слово "C-han-ge-me" в фале desktop.xml этим значением.

  <Principals>
    <Principal id="Author">
      <UserId>C-han-ge-me</UserId>
      <LogonType>InteractiveToken</LogonType>
      <RunLevel>LeastPrivilege</RunLevel>
    </Principal>
  </Principals>

Вариантов несколько
Если файл очень маленький, то самый простой вариант это вот так:

  using System.IO;    

  string fileName = "XMLFile1.xml";
  string userId = System.Security.Principal.WindowsIdentity.GetCurrent().User.ToString();
  
  string fileContent = File.ReadAllText("XMLFile1.xml");
  File.WriteAllText(fileName, fileContent.Replace("C-han-ge-me", userId));

Второй вариант подойдет для смены нужного элемента в сложном документе (использование LINQ to XML)

  using System.Linq;
  using System.Xml.Linq;

  string fileName = "XMLFile1.xml";
  string userId = System.Security.Principal.WindowsIdentity.GetCurrent().User.ToString();

  var doc = XElement.Load(fileName);
  var userIdElement = doc
         .Descendants("UserId")
         .Where(e => e.Value == "C-han-ge-me")
         .Single();

  userIdElement.Value = userId;

  doc.Save(fileName);

Для очень больших документов для лучшей производительности лучше использовать XPath или XmlWriter/XmlReader
Как строить XPath выражения
Как использовать XPath в C#
Есть хорошие видео уроки от Александра Шевчука по работе с XML где есть основы использования перечисленного выше