Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 从WCF服务返回XML_.net_Xml_Wcf_Datagridview - Fatal编程技术网

.net 从WCF服务返回XML

.net 从WCF服务返回XML,.net,xml,wcf,datagridview,.net,Xml,Wcf,Datagridview,我正在创建一个WCF Web服务,其中一个方法(在服务中公开)返回XML格式的数据,如下所示: public string QueryDirectoryEntry() { XmlDocument doc = new XmlDocument(); doc.Load(@"c:\" + FILE_NAME); return doc.InnerXml; } 如果客户机调用此方法并返回XML格式的服务数据,我希望将此XML绑定到d

我正在创建一个WCF Web服务,其中一个方法(在服务中公开)返回XML格式的数据,如下所示:

    public string QueryDirectoryEntry()
    {

        XmlDocument doc = new XmlDocument();
        doc.Load(@"c:\" + FILE_NAME);
        return doc.InnerXml;
    }
如果客户机调用此方法并返回XML格式的服务数据,我希望将此XML绑定到datagridview控件中

XML数据实际上包含
列表

XML:


abc
1.
abc
2.

我希望数据应该是XML格式的,这样每个应用程序都可以使用C#或Java格式的数据。

永远不要将XML作为字符串返回或操作。将其作为XmlElement返回:

[ServiceContract]
public interface IReturnRealXml {
    [OperationContract]
    XmlElement QueryDirectoryEntry();
}

public class ReturnRealXmlNotStrings : IReturnRealXml {

    public XmlElement QueryDirectoryEntry()
    {
        XmlDocument doc = new XmlDocument();
        doc.Load(@"c:\" + FILE_NAME);
        return doc.DocumentElement;
    }
}

永远不要将XML作为字符串返回或操作。将其作为XmlElement返回:

[ServiceContract]
public interface IReturnRealXml {
    [OperationContract]
    XmlElement QueryDirectoryEntry();
}

public class ReturnRealXmlNotStrings : IReturnRealXml {

    public XmlElement QueryDirectoryEntry()
    {
        XmlDocument doc = new XmlDocument();
        doc.Load(@"c:\" + FILE_NAME);
        return doc.DocumentElement;
    }
}

谢谢约翰纠正我的错误。。但是你能告诉我如何实现上述功能吗?我填了一点。这样好点了吗?很抱歉延迟了回复…谢谢你的回复JohnThanks John纠正了我。。但是你能告诉我如何实现上述功能吗?我填了一点。这更好吗?很抱歉延迟了响应…感谢JohnOn在重读这个问题时的回复,我看到OP可能认为他必须返回XML,以便Java或其他非.NET应用程序使用它。事实并非如此。如果他刚刚返回了
列表
,那么WCF会为他将其序列化为XML。在重读这个问题时,我发现OP可能认为他必须返回XML才能让Java或其他非.NET应用程序使用它。事实并非如此。如果他刚刚返回了
列表
,那么WCF会为他将其序列化为XML。
[ServiceContract]
public interface IReturnRealXml {
    [OperationContract]
    XmlElement QueryDirectoryEntry();
}

public class ReturnRealXmlNotStrings : IReturnRealXml {

    public XmlElement QueryDirectoryEntry()
    {
        XmlDocument doc = new XmlDocument();
        doc.Load(@"c:\" + FILE_NAME);
        return doc.DocumentElement;
    }
}