我正在创建一个WCF Web服务,其中一个方法(在Service中公开)以XML格式返回数据,如下所示:
public string QueryDirectoryEntry()
{
XmlDocument doc = new XmlDocument();
doc.Load(@"c:\" + FILE_NAME);
return doc.InnerXml;
}
如果客户端调用此方法,其服务以XML格式返回数据,我想在datagridview控件中绑定此XML。
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 :(得分: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;
}
}