我有一种情况,我的BizTalk地图不能正确地从输入XML中提取数据。BizTalk Map错误地解析输入XML
的输入模式是这样的:
序列
A
B
所有3上的XSD那些节点的具有最小0,最大无界的。
所以这里有一个样本输入文件片段:
<A>1</A>
<B>hi</B>
<A>2</A>
<B>there</B>
现在我的地图需要这些数据,并调用存储的特效将数据插入到表中。对于A的A和A的2,我得到B字段的“hi”。这是不正确的。
我将问题追溯到地图。所产生的XSLT在A上做了一个foreach,然后去抓取值B,但总是抓住第一个B.因此,任何人都有任何提示修改输入模式或映射以使其正常工作?
我知道这个问题是旧的,但你的模式被渲染为“A B”。你能修好吗?另外,添加你的解决方案(如果你有一个)。 – 13ren 2010-06-01 07:41:26
从描述中可以看出元素A和元素B都具有min/max {0,unbounded},并且包含在一个序列元素中,该元素也具有min/max {0,unbounded}。作为回答,我认为你可以为这三部分中的每一部分添加一个显式循环functoid。或者,如果你总是有AB对(就像在你的例子中那样),你可以将A和B设置为{1,1},并且只在外部有一个循环(假设它们总是成对出现)。 – 13ren 2010-06-01 07:42:50