3

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>

ノードのリストにいくつかの要素を集約する必要があります。

前もって感謝します。

4

3 に答える 3

3

マップで TableLooping / TableExtractor Functoid を使用して、宛先ノードを構築することもできます。

例については、この投稿を参照してください。

http://hestia.typepad.com/flatlander/2007/01/mapping_fixed_e.html

于 2010-04-20T14:30:31.097 に答える
2

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>
于 2010-04-16T16:05:58.803 に答える
0

入力から出力への単純なマッピングがあるようです。マッピングを行うときは、入力から出力までの線を右クリックします。「プロパティ」を選択します。入力ノードの値または入力ノードの名前をコピーするオプションがあります。各子ノードから 2 つのマッピングを使用できます。1 つは名前の抽出用、もう 1 つは値の抽出用です。

于 2011-04-13T22:03:32.590 に答える