从WCF服务返回XML [英] Returning XML From a WCF Service

查看:61
本文介绍了从WCF服务返回XML的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I am creating a WCF Web Service in which one method (exposed in Service) return data in XML format as given below:

    public string QueryDirectoryEntry()
    {

        XmlDocument doc = new XmlDocument();
        doc.Load(@"c:\" + FILE_NAME);
        return doc.InnerXml;
    }

如果客户端调用此方法,他们的服务将返回XML格式的数据,将该XML绑定到datagridview控件中。

If the client call this method their service return data in XML format , I want to bind this XML in the datagridview control.

XML数据实际上包含 List< MyStruct> 。 / p>

The XML data is actually contains the List<MyStruct>.

class MyStruct
{
  Name..
  ID...
}

XML:

<root>
  <MyStruct>
    <Name>abc</Name>
    <ID>1</ID>
  </MyStruct>
  <MyStruct>
    <Name>abc</Name>
    <ID>2</ID>
  </MyStruct>
</root>

我希望数据应为XML ,以便每个应用程序都可以使用

I want that data should be in XML so that every application can use this data either in C# or Java.

推荐答案

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

You should never return or manipulate XML as a string. Return it as XmlElement instead:

[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;
    }
}

这篇关于从WCF服务返回XML的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆