我需要通过服务契约根据请求类型返回xml/json结果。我还需要一种辅助函数,它将转换我的结果集(我正在使用linq sql),所以我不需要通过迭代遍历表行来多次创建结果集的xml格式。什么是合适的方式来做到这一点。从wcf服务返回wcf/json结果
我需要一种捷径方法,它将表格数据转换为xml result.Had我一直在使用asp.net mvc,我将能够通过覆盖ActionResult中的ExecuteResult方法来生成xml数据,并且Conetnt-Type =“text/xml”作为OP.But因为我使用 Wcf我没有控制器上下文(因为控制器上下文是需要传递给执行结果的参数)。
我现在的表格数据转换为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通信基金会。