почему Xdocument дает мне объявление utf16?

я создаю XDocument следующим образом:

XDocument doc = new XDocument(
new XDeclaration("1.0", "utf-8", "yes"));

когда я сохраняю документ следующим образом ( doc.Save (@ "c: \ tijd \ file2.xml"); ), я получаю следующее:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>

, что нормально.

но я хочу вернуть содержимое как xml, и я обнаружил следующий код:

 var wr = new StringWriter(); 
            doc.Save(wr); 
            string s = (wr.GetStringBuilder().ToString());

этот код работает, но тогда строка 's' начинается с этого:

<?xml version="1.0" encoding="utf-16" standalone="yes"?>

, поэтому он изменился с utf8 на utf16, а это не то, что я хочу , потому что теперь я не могу прочитать его в Internet Explorer.

Есть ли способ предотвратить такое поведение?

30
задан Michel 9 March 2011 в 15:56
поделиться