Xml 使用XSL从键/值对创建节点

Xml 使用XSL从键/值对创建节点,xml,xslt,Xml,Xslt,我正在尝试为输入xml中的每个键/值对创建节点: <Rowsets> <Rowset> <Row> <value>0</value> <id>SOME_KEY</id> </Row> <Row> <value>Hello world</value

我正在尝试为输入xml中的每个键/值对创建节点:

<Rowsets>
    <Rowset>
        <Row>
            <value>0</value>
            <id>SOME_KEY</id>
        </Row>
        <Row>
            <value>Hello world</value>
            <id>ANOTHER_KEY</id>
        </Row>
    </Rowset>
</Rowsets>

0
一些钥匙
你好,世界
另一把钥匙
因此,输出应如下所示:

<PARAMETERS>
    <SOME_KEY>0</SOME_KEY>
    <ANOTHER_KEY>Hello world</ANOTHER_KEY>
</PARAMETERS>

0
你好,世界
我正在使用XSL模板使用下面的XSL转换,但它没有提供任何输出

 <?xml version="1.0" encoding="UTF-8"?>
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" exclude-result-prefixes="xs" version="2.0">

    <PARAMETERS>
        <xsl:template match="/Rowsets/Rowset/Row"> 
            <xsl:element name="{id}" value="{value}">
                <xsl:apply-templates/>
            </xsl:element>
        </xsl:template>
    </PARAMETERS>

 </xsl:stylesheet>

请按以下方式修改XSLT

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xs="http://www.w3.org/2001/XMLSchema" exclude-result-prefixes="xs"
    version="2.0">

    <xsl:output method="xml" indent="yes" />
    <xsl:strip-space elements="*"/>

    <xsl:template match="Rowsets/Rowset">
        <PARAMETERS>
            <xsl:for-each select="Row">
                <xsl:element name="{id}">
                    <xsl:value-of select="value" />
                </xsl:element>
            </xsl:for-each>
        </PARAMETERS>
    </xsl:template>
</xsl:stylesheet>