当WCF方法返回XmlElement时,客户端看到XElement返回?

Rod*_*iko 2 xml xelement wcf

我从WCf方法返回一个xmlElement.当我在客户端中执行服务引用时,相同的方法是返回XElement而不是XmlElement.我尝试了一切:更新服务参考,制作新的服务参考,但它没有帮助.

这是我的客户:

ServiceReference1.BasicServiceClient basicWCfClient = new ServiceReference1.BasicServiceClient();
        XmlElement xmlelement =  basicWCfClient.GetData(5); 
        basicWCfClient.Close();
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:"无法将类型'System.Xml.Linq.XElement'隐式转换为'System.Xml.XmlElement'"

当服务器端的方法:

 public XmlElement GetData(int value)
    {
        XmlDocument xmldoc = new XmlDocument();
        xmldoc.LoadXml("<msg><node1>Hello</node1><node2>World</node2><request_params><mynode>More</mynode></request_params></msg>");
        XmlElement xmlElement = xmldoc.DocumentElement;
        return xmlElement;
     }
Run Code Online (Sandbox Code Playgroud)

和界面:

    [ServiceContract]
public interface IBasicService
{

    [OperationContract]       
    [WebGet(UriTemplate = "GetData?value={value}")] // Add support for HTTP GET Requests
    XmlElement GetData(int value);}
Run Code Online (Sandbox Code Playgroud)

到底是怎么回事 ?

Sim*_*ver 13

Configure Service Reference检查Reuse types in referenced assemblies

然后检查System.Xml您是否需要XmlElementSystem.Xml.Linq是否需要XElement

另见这个问题