9.3. 将源数据项映射到目标数据项
展开 Mappings 面板左侧的 Source 和 Target 面板中的所有项。
从 Source 面板拖动数据项,并将它放到 Target 面板中的对应数据项。
例如,将
customerNum
数据项从 Source 面板拖放,并将它放到 Target 面板中的custId
data 项上。映射会出现在 Mappings 面板中,Source 和 Target data items 的详细信息会出现在详情窗格中。
继续将源数据项目拖放到对应的目标数据项目中,直到您完成所有基本映射。
在
初学者
示例中,要映射的剩余数据项有:源 目标 orderNum
orderId
status
priority
id
itemId
价格
cost
quantity
amount
注意您可以将集合(包含列表或集合的数据项目)映射到非集合数据项,反之亦然,但您无法将集合映射到其他集合。
在 Source 和 Target 面板中点 来快速确定所有数据项是否已映射。
只有尚未映射的数据项才会列在 Source 和 Target 面板中。
在
初学者
示例中,其余的未映射 目标 属性是approvalCode
和origin
。点 blueprint.xml 选项卡返回到路由的图形显示:
-
点 File
Save。
在创建转换测试后,您可以在转换文件上运行 JUnit 测试。详情请查看 第 9.4 节 “创建转换测试文件并运行 JUnit 测试”。此时,您将在 Console 视图中看到此输出:
对于源 XML 数据:
<?xml version="1.0" encoding="UTF-8"?> <ABCOrder xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:java="http://java.sun.com"> <header> <status>GOLD</status> <customer-num>ACME-123</customer-num> <order-num>ORDER1</order-num> </header> <order-items> <item id="PICKLE"> <price>2.25</price> <quantity>1000</quantity> </item> <item id="BANANA"> <price>1.25</price> <quantity>400</quantity> </item> </order-items> </ABCOrder>
对于目标 JSON 数据:
{"custId":"ACME-123","priority":"GOLD","orderId":"ORDER1","lineItems":[{"itemId":"PICKLE", "amount":1000,"cost":2.25},{"itemId":"BANANA","amount":400,"cost":1.25