XmlDocument.Load[
^] has four overloads - one of them takes a stream.
So, convert your StringBuilder to a stream:
StringBuilder sb = new StringBuilder();
...
Stream stream = new MemoryStream(System.Text.Encoding.Unicode.GetBytes(sb.ToString()))
and pass that to the XmlDocument