从ASP.NET(2.0)Web服务返回表格结构的最佳方式是什么?从Web服务返回表格结构
它应该与Java,Iphone App或任何其他平台互操作。
编辑:通过互操作我的意思是其他技术/客户端应该能够使用它或反序列化它们的本机类型,而不是解析响应XML。
从ASP.NET(2.0)Web服务返回表格结构的最佳方式是什么?从Web服务返回表格结构
它应该与Java,Iphone App或任何其他平台互操作。
编辑:通过互操作我的意思是其他技术/客户端应该能够使用它或反序列化它们的本机类型,而不是解析响应XML。
您可以使用SOAP/XML实现互操作性。 以下是可能对您有帮助的article的链接。
Web Services由定义可互操作,因为它们依赖于XML在异构系统之间传递数据。
也就是说,需要定义的是表格结构如何在XML中进行序列化。
有几种方法可以做到这一点,每个人都有其优点和缺点。
ISerializable
接口[XmlSerializer]
类属性来控制类是如何作为XML序列化。只需启动来定义你想表达你的表格数据,然后如何实施工作怎么办。
你的意思是我通过web服务发送的任何表格结构都会被任何客户端(java,php)轻松使用。如何返回DataTable或DataSet(.NET)?我不认为这很简单。 – 2010-01-06 16:57:16
http://support.microsoft.com/kb/306134
我觉得这个页面上。你会得到答案。
取决于您的首选格式。我建议:
如果XML则是这样的:如果JSON然后像
<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"}]
在任何情况下,最好不要用手来做到这一点。使用库来序列化您的数据。
我将使用ASP.NET,我可以将DataTable序列化为类似于上面建议的结构。我不确定反序列化。 – 2010-01-06 17:04:19
我相信ASP.NET有库来序列化XML和JSON。如果微软仍然生活在黑暗时代,我会感到非常惊讶。 (想一想,我知道他们有图书馆来处理XML,因为他们目前正在被专利巨魔起诉) – slebetman 2010-01-06 17:11:56
您可能会返回类似Fielded Text的值。遗憾的是,并不是一个图书馆可以在.Net中轻松构建这样的文本对象,但是它自己实现并且绝对可以被任何其他平台解析。
顺便说一句,你真的需要使用基于SOAP的Web服务吗?它可能可能仅仅是当您调用给定url时返回的文本文档。考虑看看RESTful Web服务。
我也会对这样的事情感兴趣。然而,我发现涉及JSON或XML序列化的任何内容都没有涉及到这一点。对象样式注释过于冗长。你基本上在每一行重复列标题。我想要一些表格,以便我可以尽可能紧凑地传输数千个相同的记录。 – 2011-02-02 14:17:42