Похоже, что файл, который вы пытаетесь прочитать, не закодирован как Unicode. Вы можете повторить поведение, пытаясь открыть файл, закодированный как ANSI, с кодировкой в файле XML, заданной как utf-16
.
Если вы не можете гарантировать, что файл закодирован надлежащим образом, вы можете прочитать файл в поток (позволяя StreamReader
определить кодировку), а затем создать XDocument
:
using (StreamReader sr = new StreamReader(path, true))
{
XDocument xdoc = XDocument.Load(sr);
}