Мне нужно по контракту на обслуживание вернуть результат xml / json в зависимости от типа запроса. Мне также нужна какая-то вспомогательная функция, которая преобразует мой набор результатов (я использую linq в sql), так что мне не нужно создайте формат xml для результирующего набора, многократно повторяя строку таблицы. Какой подходящий способ сделать это.
Мне нужен своего рода сокращенный метод, который преобразует данные таблицы в результат xml. Если бы я использовал asp.net mvc, я бы смог сгенерировать данные XML, переопределив метод ExecuteResult в ActionResult и предоставив Conetnt-Type = "text / xml" как OP. Но так как я использую
Если у меня нет контекста контроллера (поскольку контекст контроллера - это параметр, который нужно передать в Результат выполнения).
Ниже приведен мой код для преобразования данных таблицы в формат xml.
public XDocument UsersLists(string authToken)
{
bool IsAuthenticated = Authenticate(authToken);
XDocument xDoc = new XDocument();
XElement root = new XElement("Users");
if (IsAuthenticated)
{
List<User> lstUsers = _lService.UserRepository.GetUserCompanyFromAccountID(GetAccountId(authToken)).ToList();
if (lstUsers != null)
{
root.Add(new XElement("Message", "Success"));
foreach (var u in lstUsers)
{
XElement chid = new XElement("User");
root.Add(new XElement("UserId", u.UserId));
root.Add(new XElement("FirstName", u.FirstName));
root.Add(new XElement("LastName", u.LastName));
root.Add(new XElement("Email", u.Email));
root.Add(new XElement("CompanyName", u.Company.CompanyName));
root.Add(chid);
}
xDoc.Add(root);
return xDoc;
}
else
{
return ReturnFailure(xDoc, root);
}
}
else
{
return ReturnFailure(xDoc, root);
}
}
Мне нужно исключить этот способ генерации XML для каждой записи таблицы.
Ранний ответ бесценен.
Спасибо
Технология: Windows Communication Foundation.