Asp.net 从Web服务返回表格结构

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中序列化表格结构 有几种方法可以做到这一点,每个方法都有其优点和缺点

从ASP.NET(2.0)web服务返回表格结构的最佳方法是什么

它应该与Java、Iphone应用程序或任何其他平台互操作


编辑:通过互操作,我的意思是其他技术/客户端应该能够使用它或将它反序列化为其本机类型,而不是解析响应XML。

您可以通过使用SOAP/XML实现互操作性。 这里有一个指向的链接,它可能对您有所帮助。

根据定义是可互操作的,因为除其他外,它们依赖XML在异构系统之间传递数据

也就是说,需要定义的是如何在XML中序列化表格结构

有几种方法可以做到这一点,每个方法都有其优点和缺点

  • 实现
    ISerializable
    接口
  • [XmlSerializer]
    属性装饰类,以控制类如何序列化为XML
  • 等等,等等,等等
只需开始定义如何表达表格数据,然后研究如何实现。


我想在这一页上。您将得到答案。

取决于您喜欢的格式。我建议:

如果是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序列化的内容都没有抓住要点。对象样式注释太冗长。您基本上是在每一行重复列标题。我想要一些表格,这样我就可以尽可能紧凑地传输数千条相同的记录。