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