Dzien dobry,
Mam maly problem z Encoding utf-8/utf-16. Program wysyla xml request do webservisu, gdzie encoding musi byc utf-8.
Problem jest maly bo proteza dzial, tylko wyglada tak jak.... proteza ;)
```csharp
var soapEnvelope = XDocument.Parse(template);
soapEnvelope.Declaration = new XDeclaration("1.0", "utf-8", null);
var contentElement = soapEnvelope.Root.Elements()
.FirstOrDefault(el => el.Name.LocalName == "Body")?.Elements()
.FirstOrDefault(el => el.Name.LocalName == "getmsg")?.Elements()
.FirstOrDefault(el => el.Name.LocalName == "name");
contentElement.Value = StationName;
string requestBody;
var writer = new StringWriter();
soapEnvelope.Save(writer);
requestBody = writer.ToString();
requestBody = requestBody.Replace("utf-16", "utf-8"); //proteza
Do "template" wczytywany jest request z pliku. W template ciagle encoding jest utf-8
```xml
@"<?xml version=""1.0"" encoding=""UTF-8"" ?>
Po zapisaniu do "writer", encoding zmienia sie na utf-16
soapEnvelope.Save(writer);
Jak zapisac do "writer" of razu z Encoding=utf8? Jakies parametry trzeba ustawic?
Proteza niby dziala, ale jakos to tak malo elegncko wyglada ;)
Jakby ktos mial rozwiazanie przed dlugim weekendem to bylbym wdzieczny :).
No I milego weekend zycze!!
Pozdrawiam Usjwo