JAVA对象到.NET DataSet转换

      前两天所做的主要工作是: .NET调用JAVA WEB SERVICE,然后把返回的数据转换为.NET中的DataSet。在网上搜索WEB SERVICE到DataSet中的转换,基本没有现成的工具支持。网上有一些想法,其中有一种想法和我的想法一致,并且他们在BEA的项目中实现过。

       因此,我最终确定了这条设计思路。
       我们知道DataSet是可以和XML相互转换的,但是转换的时候要求XML满足一定的格式要求。否则,dataSet.ReadXML是会出错的。
       要满足什么样的条件呢?主要有两种方法。第一种:带名字空间,将XML的元素完全符合DataSet的XSD定义,这样就没有问题了。这种方式不用在前面加上mstns这个名字空间;另外一种:不带名字空间,但是需要将XSD定义加到XML的根元素中,用于描述该文档的SCHEMA定义。
       两种方式都可以。但都要求,XML格式要满足XSD定义。

       而DataSet的XSD定义可以通过查看文件得到。只要我们的DataSet是相对固定的,那么我们的JAVA WEB SERVICE就只需要生成该DataSet对应的XML文件就可以了。
       在JAVA端,生成XML文件有很多方式。有采用XML -> JAVA BEAN的转换;也有直接裸写的。我采用第二种方式,直接使用DOM4J构造XML文件。其原因是由于该XML格式比较复杂。
        如果采用第一种,需要根据单个对象生成XML,然后把XML的片断构造成新的XML。也比较麻烦。并且要定义好多JAVA BEAN类,不不太想这么做。

       OK。昨天已经搞定了这件事情。

       今天开始将DataSet转换为我想要的XML文件定义。然后在服务器端拿到这个文件之后,就可以开始解析了,从而完成WEB SERVICE操作,嘿嘿:)

       一切都变得明朗了。.NET WEB SERVICE终于拿掉了,爽。

       晚上去游泳了,真是难得,游了一个小时,挺累的。

      
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值