In order to control the encoding (once you know what it is), you can load the files using the Load
method override that accepts a Stream
.
Then you can create a new StreamReader
against your file specifying the appropriate Encoding
in the constructor.
For example, to open the file using Western European encoding, replace the following line of code in the question:
XDocument xmlDoc = XDocument.Load(inFileName);
with this code:
XDocument xmlDoc = null;
using (StreamReader oReader = new StreamReader(inFileName, Encoding.GetEncoding("ISO-8859-1"))) {
xmlDoc = XDocument.Load(oReader);
}
The list of supported encodings can be found in the MSDN documentation.