Biztalk的映射:分组不同节点到一个列表
-
27-09-2019 - |
题
是否有实现的BT映射下转型的一种方式?如果没有,任何智能想法?
<Person>
<Age>25</Age>
<Name>Paul</Name>
</Person>
为:
<Person>
<CustomProperties>
<CustomProperty>
<Name>Age</Name>
<Value>25</VAlue>
</CustomProperty>
<CustomProperty>
<Name>Name</Name>
<Value>Paul</VAlue>
</CustomProperty>
</CustomProperties>
我必须在聚集节点的列表的几个元件。
预先感谢。
解决方案
不知道多少有关BizTalk映射器,但所需要的XSLT是相当直接的:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="Person">
<xsl:copy>
<CustomProperties>
<xsl:apply-templates select="*" />
</CustomProperties>
</xsl:copy>
</xsl:template>
<xsl:template match="Person/*">
<CustomProperty>
<Name><xsl:value-of select="name()" /></Name>
<Value><xsl:value-of select="." /></Value>
</CustomProperty>
</xsl:template>
</xsl:stylesheet>
其他提示
您还可以使用TableLooping / TableExtractor functoid的在地图中建造目的节点。
请参阅这篇文章中的示例:
http://hestia.typepad.com/flatlander/2007/01 /mapping_fixed_e.html
您似乎具有直正向映射从输入到输出。当你做你的映射右击从输入到输出绘制的线条。选择“属性”。有选项可以复制输入节点的值,或输入节点的名称。可以使用两个映射从每个子节点,一个以提取该值的名称和一个。
不隶属于 StackOverflow