admin 管理员组

文章数量: 1184232


2024年3月10日发(作者:javascript高级程序设计第四版阅读)

XML转换说明

以下就是小弟这几天的还不成熟的成果了,如果有什么错误还请及时指正,谢谢

所需软件:Kettle、XMLSpy、MapForce(参见软件包)

整体转换流程:

首先使用Kettle生成含有客户需要的全部字段的XML文件(),使用此XML

文件根据客户提供的XSD文件使用MapForce做出映射,生成XSL文件,再据此XSL文

件使用Kettle最终生成客户需要的特定格式的XML文件()。

详细步骤:

1、 配置连接SqlServer数据库的数据源(此处使用ODBC数据源,连接方法参见备

注),打开Kettle,直接选择没有资源库,在Kettle左侧的主核心树下,双击DB连接

ConnectionName:随意填写

ODBC DSN Source Name:配置的连接相应数据库的ODBC源的名称

UserName:sa

Password:sa

点击test,如果配置DB连接成功

2、使用Kettle新建一个转换,点击核心对象或在空白处右击(新建步骤),选择输入,

表输入,

步骤名称:随意填写

数据库连接:为刚刚配置的DB连接的ConnectionName

点击获取查询语句:只能选择一个表进行查询,此处使用自己写的SQL进行多表连接

查询

其他选项:默认即可

3、再次新建步骤 XML输出,按住shift,点击表输入,按住左键不放,拖动至XML

输出,建立两个步骤之间的联系

4、配置 XMl输出

双击XML输出,

标签1:文件

文件名称:既XML文件的保存路径及文件名称

其他选型默认

标签2:内容

父XML元素:填写父结点名称,与客户提供的XSD文件名称对应

其他选项默认

标签3:字段

点击获取字段即可

到此处即可保存转换为ktr文件,运行此转换输出XML文件()

使用 及XSD文件生成XSL文件(如果需要自己的XSD文件,请参考附件:

如何生成XSD文件.doc(请按住ctrl点击))

下面进入MapForce使用阶段

正确安装Mapforce后:

点击左上角的 ,选择ProjectFile ,选择路径及需要保存的mfp文件的文件名称,

在MapForce左侧的工程名处右击,选择

Create Folder

将刚刚生成的及相应的XSD文件拷贝进工程文件,然后在上一步建立的文件

夹处右击,选择Add Files to Project

文件类型:选择所有文件

同时选择xsd文件及xml文件,添加即可

拖动xml文件至右侧的窗口,出现提示框,选择是,

注意文件名,为了区分操作类型,此处命名为xxx_

再次拖动左侧的xml文件,重复上面的操作,文件名分别命名为

xxx_ xxx_(xxx为相应的文件名)

拖动XSD文件至右侧窗口,出现提示框选择skip即可

文件添加完成如图

依次展开所有字段

根据opertions中的字段,拖动映射线至insert、update、delete处的相应字段即可,

注意row元素连接至相应的操作(例如:row----insert)

点击Mapforce上方output,选择xslt 1.0 ,选择MapForce下方xslt标签

将其中的全部代码复制出来,保存为 名称.xsl即可(最好是全英文名称)

OK,使用Kettle进行最终的转换,即可导出客户需要的XML文件

打开Kettle,新建 作业

核心对象标签,左侧工具列表如下:

打开通用列表,选择START,拖至右侧

再选择TransFormation 拖至右侧 按住shift建立两个步骤之间的关联

双击TransFormation

选择转换文件名,找到在第一步中生成的ktr文件,其他选型默认

打开左侧的XML列表,拖动XSL Transformation ,同样建立Transformation及

XSL Transformation之间的关联

双击XSL Transformation

XML File Name :第一步转换出来的

XSL File Name:刚才复制出来的那些代码

Transforer factory:选择JAXP

Output Filename:最终文件的保存路径及名称

If File exists:如果文件存在,要进行的处理

保存这个工作为kjb文件,运行,即可转换出客户需要的特定格式的XML文件

观看视频(请按住ctrl点击)


本文标签: 文件 选择 转换 客户 使用