Delphi 6这次真是下了血本,XML这块功能加强了不少,什么XML文件编程、数据绑定向导、XML映射还有BizSnap(就是SOAP/XML的Web服务),全都整上了。这篇文章是关于Delphi 6里XML功能的三部曲最后一弹,重点讲的是XML映射工具,也就是所谓的XML映射器。
这个映射器嘛,你可以单独打开,也可以在IDE里的Tools菜单里面找到。它最大的本事就是把XML文件给翻译成类似数据库的那种DataSet结构!之前两篇我们都是用TXMLDocument组件来处理XML文件或者绑定数据的,但这次不一样了,我们直接上XML映射器,把XML转成数据包(或者反过来也行),这样一来就可以像平时操作DataSet那样来玩转XML数据了,熟悉又方便!
那这玩意儿都能打开啥格式?XML文件和数据包文件(.xml、.cds)、纲要文件(.dtd、.xdr、.xsd)、库文件(.xrp)以及转换文件(.xtr)都支持,而且转换文件还是映射器自己生成的。
咱们接着拿前两篇文章中用到的那个Clinic.xml文件举例,看看它是怎么被映射的。你一看图1就知道,整个Clinic.xml被映射成了一个叫Clinics的大结构,里面包含好几个Clinic子项。每个Clinic有四个字段:@No、Title、Date、Topics。注意,@No是属性,其他三个是元素。
操作也很简单,鼠标移到Clinic节点上,右键点一下,选Select All(快捷键Ctrl+A)或者Select All Children,这样@No、Title、Date、Topics这些字段就被加到中间的映射表里了。不过这时候还没真正生成对应的数据集字段哈。
然后再一次右键点击Clinic节点,选Create Datapacket from XML(快捷键Ctrl+D),系统就会自动生成对应的数据包,并且显示在映射器右边,就像图2那样。
这映射器牛就牛在可以把XML转成四个标准格式的数据包,你还可以手动增删这些数据包。这点在B2B场景下特别有用,比如你收到一份XML数据,想把它插入到数据库里,这就省事多了。
创建完之后还能测试转换效果,看看是不是符合预期。
这个映射器嘛,你可以单独打开,也可以在IDE里的Tools菜单里面找到。它最大的本事就是把XML文件给翻译成类似数据库的那种DataSet结构!之前两篇我们都是用TXMLDocument组件来处理XML文件或者绑定数据的,但这次不一样了,我们直接上XML映射器,把XML转成数据包(或者反过来也行),这样一来就可以像平时操作DataSet那样来玩转XML数据了,熟悉又方便!
那这玩意儿都能打开啥格式?XML文件和数据包文件(.xml、.cds)、纲要文件(.dtd、.xdr、.xsd)、库文件(.xrp)以及转换文件(.xtr)都支持,而且转换文件还是映射器自己生成的。
咱们接着拿前两篇文章中用到的那个Clinic.xml文件举例,看看它是怎么被映射的。你一看图1就知道,整个Clinic.xml被映射成了一个叫Clinics的大结构,里面包含好几个Clinic子项。每个Clinic有四个字段:@No、Title、Date、Topics。注意,@No是属性,其他三个是元素。
操作也很简单,鼠标移到Clinic节点上,右键点一下,选Select All(快捷键Ctrl+A)或者Select All Children,这样@No、Title、Date、Topics这些字段就被加到中间的映射表里了。不过这时候还没真正生成对应的数据集字段哈。
然后再一次右键点击Clinic节点,选Create Datapacket from XML(快捷键Ctrl+D),系统就会自动生成对应的数据包,并且显示在映射器右边,就像图2那样。
这映射器牛就牛在可以把XML转成四个标准格式的数据包,你还可以手动增删这些数据包。这点在B2B场景下特别有用,比如你收到一份XML数据,想把它插入到数据库里,这就省事多了。
创建完之后还能测试转换效果,看看是不是符合预期。