XSLT通过XML标签传递值

时间:2019-03-20 14:45:19

标签: xslt xquery

我需要获取xml格式的节点的值,但我所得到的只是这些标记内的值。

身体:

<input>
<first>one</first>
<second>two</second>
<third>three</third>
</input>

XQuery

<PayloadAsMessage>
          <xsl:value-of select="/input"/>
</PayloadAsMessage>

预期输出:

<PayloadAsMessage>
        <first>one</first>
        <second>two</second>
        <third>three</third>
</PayloadAsMessage>

我得到的是什么

<PayloadAsMessage>
        onetwothree
</PayloadAsMessage>

1 个答案:

答案 0 :(得分:1)

xsl:value-of接受元素的字符串值(它也是XSLT,而不是XQuery)。要精确复制XML,请使用xsl:copy-of(XSLT 1)或xsl:sequence(XSLT2)。

<xsl:copy-of select="/input/*"/>

<xsl:sequence select="/input/*"/>