2009-07-22 135 views
1

我创建一个WCF Web服务,其中一个方法(在服务暴露)返回XML格式的数据如下XML格式的数据,我想在datagridview控件中绑定这个XML。返回XML从WCF服务

XML数据实际上包含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让每一个应用程序可以在C#或Java使用这些数据。

+0

在重新阅读这个问题,我看到OP可曾想到他_had to_为了返回XML的Java或其他non-.NET应用程序中使用它。事实并非如此。如果他刚刚返回了`List `,那么WCF会将它序列化为XML。 – 2013-02-12 17:32:25

回答

5

您不应该将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; 
    } 
} 
+0

谢谢约翰纠正我..但你能告诉我我怎么能实现上述功能? – 2009-07-22 13:00:01