То, что я пытаюсь сделать, это вернуть XmlDocument
из моей службы WCF.
Проблема в том, что я получил ошибку "Корневой элемент отсутствует."
вот мойкод
public XmlElement GetDeviceListXML()// this got [XmlSerializerFormat]and [OperationContract]
{
List<Device> list = MyProject.BLL.Device.GetList();// here i getting list of devices from my database
//Device is object which got [serializable] attribute
XmlRootAttribute xra = new XmlRootAttribute("Device");
xra.ElementName = "Devices";
xra.Namespace = "http://MMEwidencja.pl";
xra.IsNullable = false;
XmlSerializer serializer = new XmlSerializer(typeof(List<Device>), xra);
var stream = new MemoryStream();
XmlDocument xDoc = new XmlDocument();;
try
{
serializer.Serialize(stream, list);
stream.Position = 0;// that what was I miss
xDoc.Load(stream);
}
catch (Exception ex)
{
throw ex;
}
return xDoc.DocumentElement;
}
Как мне сделать эту работу?
Отредактировано: У меня есть решение этой проблемы: XmlDocument пытался загрузить поток от последнего байта к последнему байту.Я пропустил позицию 0 в этом потоке.