Datacontractserializer ile ilgili hızlı bir soruyla karşılaştım. Belki daha çok bir akış sorusu. Xml'yi bir filestream'e yazan bir kod parçası buldum. Temelde dosyayı istemiyorum ve sadece string çıktısına ihtiyacım var.DataContractSerializer - xml'yi bir dizeye nasıl gönderebilirim (bir dosyanın karşıtı olarak)
public static string DataContractSerializeObject<T>(T objectToSerialize)
{
var fs = new FileStream("test.xml", FileMode.OpenOrCreate);
var serializer = new DataContractSerializer(typeof(T));
serializer.WriteObject(fs, objectToSerialize);
fs.Close();
return fs.ToString();
}
fs.ToString() kesinlikle aradığım şey değil. Hangi akışı veya yazarı vs., sadece uygun dizeyi döndürmek ve bir dosya oluşturmamak için kullanabilir miyim? Ben oluşturulan filestream XML baktım ve tam olarak ne aradığımı. XmlSerializer XML'i biraz garip yazdı ve bu durumda DataContractSerializer'ın çıktısını tercih ediyorum. Beni doğru yöne yönlendiren var mı? Böyle
görünüyor senin gibi Parametreyi değiştirdi, memStm.Seek (0, SeekOrigin.Begin) olmalıdır; – xar
@xar: evet, kesinlikle haklısınız - bu hatayı fark ettiğiniz için teşekkürler - şimdi düzeltdim –
Bu çözüm gereksiz yere utf8 kodlar. –