XML与DataSet的互转(2)--XmlSchema的作用
终于迎来了五一长假,总算可以好好休息一下了。不过这个假期对我而言也没什么意思,头三天除了睡觉还是睡觉,第四天就又要去公司加班了。 上一节提到了几个问题: 好,现在开始讲解Schema。我们可以通过DataSet.GetXmlSchema()来得到DataSet的Schema。当然,该方法还是用来生成String这符串的。我们首先来看一下它的格式。 其DataSet的Xml格式如下: 至于Schema的写法,我就不多说了,不清楚的朋友可以找一本Xml的基础资料来看一下。这里我们重点要看红色标注的一行,里属性type就是用来表示在Xml中该字段的数据类型。其它属性还包含字段的限制等等。实际上,XmlSchema的作用就在于此。同时,即便在Xml中字段为空时不显示,通过XmlSchema也可以得到完整的数据字段。还有一点,就是表名,你同时也可以看到在XmlSchema中有与Xml中对应的表名,这里看到的为test。 好,讲到这里,我想你已经大概了解DataSet转为Xml的一些基础知识了。那么现在我再来讲一下Xml还原成DataSet的方法。 DataSet已经很好的支持了Xml。这一点我在开发过程中感受得非常深刻。DataSet通过客户端是不能够提取的,因此我先转成Xml,然后通过客户端的MSXML进行DOM解析,真的是非常棒哦。有空你也可以试一下它的强大功能。 Xml转成DataSet主要用DataSet.ReadXmlSchema()和DataSet.ReadXml()方法。注意这里,我们通过DataSet获取时,如果要获取Schame,那么写一定要先将DataSet.ReadXmlSchema()写在前面,因为DataSet只有首先得到数据架构,才能在架构中添加数据哦(想想建筑师们是怎么设计的吧)! 再说一句题外话,不知道你是否清楚DiffGram的作用。在DataSet.GetXml()方法中,会有第二个参数是用来设置Get方法。里面最有作用的就是DiffGram参数。它可以完整保存DataSet中的信息。加入该参数,你再观察一下DataSet生成的Xml,会发现从获取DataSet到对DataSet的记录操作变更全部都记录在Xml中了,这就是DiffGram的功劳。这样,即便我们把DataSet以Xml的方法传递到任何其它层,都可以进行有效的更新或还原了。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |