BizTalk xml 文件转换为平面文件格式
BizTalk 相对较新;我需要经验丰富的帮助。
我面临着必须尝试将源 XML 文档映射到平面文件 TAB 分隔的目标的问题。我的源文档有一些嵌套节点,我需要迭代这些节点并将它们分别翻译为平面文件文档上的一行;经典的销售订单标题/明细关系。结果需要我为子节点中的每个嵌套元素重复标头信息。
我尝试过使用循环 functoid 的解决方案,但我不确定如何正确表示目标列表。我错过了显而易见的事情吗?我应该将“循环”输出参数链接到哪个目标行元素?
为了演示,这是我正在使用的模式的示例。
SOURCE SCHEMA(无法修改源结构)
- schema\
- salesorders\
- salesorders\orders\
- orders\soidorders
- \custnameorders
- \addressorders
- \detail\
- orders\detail\msrporders
- \detail\modelnoorders
- \detail \sku
DESTINATION SCHEMA
- schema\
- \root\
- soid
- custname
- 地址
- 等...
平面文件输出(每个详细项目一行)
- soid custname 地址 msrp modelno sku
- soid custname 地址 msrp modelno sku
有人可以指导我正确的方向吗?
Relatively new to BizTalk; I could use seasoned help.
I'm faced with having to try to map a source XML document to a flat-file TAB delimited destination. My source document has some nested nodes that I need to iterate through and translate them each as a row on the flat-file document; classic sales order header/detail relationship. The results would need me to repeat the header information for every nested element in the child node.
I've tried a solution using a looping functoid but I'm not sure how to represent the destination list correctly. Am I missing the obvious? At what destination row element should I link my "Looping" output param to?
For demonstration sake here's an example of the schemas I'm working with.
SOURCE SCHEMA (Don't have the possibility to modify the source structure)
- schema\
- salesorders\
- salesorders\orders\
- orders\soid
- orders\cust name
- orders\address
- orders\detail\
- orders\detail\msrp
- orders\detail\modelno
- orders\detail\sku
DESTINATION SCHEMA
- schema\
- \root\
- soid
- custname
- address
- etc...
Flat file OUTPUT (One line per detail item)
- soid custname address msrp modelno sku
- soid custname address msrp modelno sku
Anybody could orient me in right direction?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您将循环 Functoid 从要生成新记录的源节点链接到(通常)目标的外部记录节点(通常是根的第一个子节点,但并非总是如此)。这基本上会告诉地图“每次你在我的源中看到新的
blah
时,就在我的目的地中创建一个全新的记录。”You'll link your Looping Functoid from the source node you want to have generate a new record to (usually) the outer-record node (usually first child of the Root, but not always) of the destination. This will basically tell the map "Every time you see a new
blah
in my source, create a whole new record in my destination."