2009-07-22 129 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