Asp.net 从Web服务返回表格结构
从ASP.NET(2.0)web服务返回表格结构的最佳方法是什么 它应该与Java、Iphone应用程序或任何其他平台互操作Asp.net 从Web服务返回表格结构,asp.net,web-services,interop,Asp.net,Web Services,Interop,从ASP.NET(2.0)web服务返回表格结构的最佳方法是什么 它应该与Java、Iphone应用程序或任何其他平台互操作 编辑:通过互操作,我的意思是其他技术/客户端应该能够使用它或将它反序列化为其本机类型,而不是解析响应XML。您可以通过使用SOAP/XML实现互操作性。 这里有一个指向的链接,它可能对您有所帮助。根据定义是可互操作的,因为除其他外,它们依赖XML在异构系统之间传递数据 也就是说,需要定义的是如何在XML中序列化表格结构 有几种方法可以做到这一点,每个方法都有其优点和缺点
编辑:通过互操作,我的意思是其他技术/客户端应该能够使用它或将它反序列化为其本机类型,而不是解析响应XML。您可以通过使用SOAP/XML实现互操作性。 这里有一个指向的链接,它可能对您有所帮助。根据定义是可互操作的,因为除其他外,它们依赖XML在异构系统之间传递数据 也就是说,需要定义的是如何在XML中序列化表格结构 有几种方法可以做到这一点,每个方法都有其优点和缺点
- 实现
接口ISerializable
- 用
属性装饰类,以控制类如何序列化为XML[XmlSerializer]
- 等等,等等,等等
我想在这一页上。您将得到答案。取决于您喜欢的格式。我建议: 如果是XML,则类似于:
<table>
<row1>
<col1>data</col1>
<col2>data</col2>
</row1>
<row2>
<col1>data</col1>
<col2>data</col2>
</row2>
</table>
[{"col1":"data","col2":"data"},{"col1":"data","col2":"data"}]
无论如何,最好不要用手来做这件事。使用库序列化数据。您可以返回类似值的内容。遗憾的是,在.Net中没有一个库可以轻松地构建这样的文本对象,但是自己实现它非常简单,并且可以被任何其他平台解析
顺便问一下,您真的需要使用基于SOAP的web服务吗?它可能只是调用给定url时返回的文本文档。考虑一下REST Web服务。你指的是任何一个通过Web服务发送的表格结构都很容易被任何客户端(java,php)消耗掉。返回DataTable或DataSet(.NET)如何?我觉得没那么简单。我将使用ASP.NET,我可以将DataTable序列化为类似于上面建议的结构。我不确定反序列化。我确定ASP.NET有用于序列化XML和JSON的库。如果微软仍然生活在黑暗时代,我会非常惊讶。(想想看,我知道他们有处理XML的库,因为他们目前正为此被一个专利巨魔起诉)我也对类似的东西感兴趣。然而,我发现任何涉及JSON或XML序列化的内容都没有抓住要点。对象样式注释太冗长。您基本上是在每一行重复列标题。我想要一些表格,这样我就可以尽可能紧凑地传输数千条相同的记录。